Em 2007, surgiu a notícia aqui:
O
Ubuntu (e suas outras versões,
Kubuntu,
Xubuntu) na então
versão 07.04 podia estar diminuindo a vida útil dos HDs dos notebooks. A notícia correu por vários fóruns,
levando muitos usuários à desistir do Ubuntu, migrando para outras distribuições Gnu/Linux;
os que ficaram buscaram uma solução um tanto drástica, mas que resolveu o problema.
Embora muitos usuários e desenvolvedores culpassem os fabricantes de notebooks, não se sabe
exatamente quem é o responsável pela origem do problema. Sendo que, qualquer
julgamento a esse respeito não passará de mera conjectura.
O que aconteceu? Qual era o problema?
O mesmo só ocorre em notebooks, sendo que não há registros de que este problema afete desktops (e
possivelmente, a maioria dos comandos listados ao longo deste artigo não funcionará em desktops).
Todo HD possui dois componentes principais (entre outros mais): a agulha e os discos:
Os discos chegam a girar em torno de 7200 RPM (rotações por minuto) ou 5400 RPM (dependendo do
modelo), enquanto o atuador movimenta o braço, que possui em sua ponta a agulha ou cabeça de leitura
/ gravação de dados. Esse processo ocorre o tempo todo enquanto o HD está em uso. Claro que com todo
este movimento constante, a temperatura média do HD tende a aumentar gradativamente, conforme o
esforço que ele é submetido.
Os fabricantes de HDs, então, criaram um recurso chamado Advanced power management que
estaciona o braço em um ponto neutro onde não fique sobre a superfície dos discos, e
diminua a rotação dos mesmos; economizando energia, diminuindo a temperatura e preservando a
integridade dos discos caso ocorra algum choque físico (o tão conhecido e falado recurso que protege o
HD mesmo que se derrube o notebook no chão).
Para isso, os fabricantes determinaram um período de ociosidade que o HD deve ter para fazer este
procedimento. Mas, este recurso possui um porém: o constante movimento carga /
descarga gera um desgaste natural no mecanismo do atuador, sendo que pode-se ter de 200.000
a 600.000 ciclos de carga durante a vida média útil de um HD (que varia de 4 a 5 anos dependendo do
uso segundo os fabricantes).
Todos esses recursos (rotação, ciclo de descarga, velocidade de leitura / gravação), são controlados pelo
sistema operacional.
A Microsoft não segue as recomendações dos fabricantes quanto à quantidade de ciclos por minuto. Já
sistemas Gnu/Linux baseiam-se no que os fabricantes recomendam, mas a recomendação gera um
aumento exorbitante de ciclos por minuto, chegando à ser 5 ou 6 ciclos por minuto. Uma taxa que pode
comprometer o funcionamento do HD em poucos meses.
Como identificar?
Existe um pacote chamado
Smartmontools, que possui como principal componente o utilitário
smartctl (vide apêndice 1: o comando smartctl). Este utilitário lê os dados fornecidos pelo
SMART (sigla de Self-Monitoring, Analysis, and Reporting Technology). Veja
wiki aqui:
Para monitorar a quantidade de ciclos, instale o pacote smartmontools (no caso do
Slackware e
Opensuse, ele já vem por padrão instalado), e digite
o comando como root:
# smartctl -A /dev/sda | grep Load_Cycle_Count
Observação importante: nos exemplos estarei me referindo ao HD como /dev/sda, sendo que se você
possuir um HD IDE , troque o dispositivo para o correto: /dev/HDa
A saída seria o seguinte dado:
# sudo smartctl -A /dev/sda | grep Load_Cycle_Count
225 Load_Cycle_Count 0x0032
095 095 000 Old_age
Always - 58055
O último número é o total de ciclos realizados até o momento. Note que o não importa o número atual e
sim a média ciclos por minuto. Portanto refaça a medição de hora em hora.
Depois faça a divisão:
quantidade de ciclos realizados no período ÷ minutos decorridos
Se o resultado ficar entre 0 e 1,5 ciclos por minuto, pode-se dizer que o HD está normal.
Outra maneira é identificar a saída do comando:
# hdparm -I /dev/sda | grep Advanced
Se o valor estiver em 254, está normal. Se estiver em 128 ou disabled (desabilitado), melhor prestar
atenção nos ciclo de descarga.
Qual foi a solução?
Chegou-se então à solução: desativar o recurso Advanced Power Management. Um script
shell, muito difundido a partir deste site:
Faria o desativamento deste recurso.
Como esta tratou-se de uma solução drástica, possui inconvenientes: a temperatura média do HD
aumenta, assim como o risco do comprometimento do HD em caso de choques fisícos e quedas.
O Script
Este script baseia-se no utilitário
hdparm, que entre outras funções (vide apêndice 2: o
comando hdparm) regula o nível do advanced power management.
Este recurso possui uma regulagem que varia do valor 1-127 (economia de energia + spin-down que é a
diminuição da rotação dos discos) a 128 254 (economia de energia máximo desempenho
sem spin-down) sendo que o valor 255 desliga o gerenciamento de energia por completo.
Só que é neste ponto que se encontra o bug: o sistema não aceita nenhum valor diferente entre 1 ou
254, qualquer valor intermediário é entendido como o mínimo sem spin-down (128). O pior é que em
muitos casos (como demonstrarei adiante) nem mesmo o valor 255 desliga o gerenciamento, sendo
possível apenas optar entre 128 ou 254 (economia máxima / desempenho máximo ambos sem
spin down).
Como a Canonical resolveu o problema?
Como a solução a própria comunidade encontrou, bastou a Canonical seguir o mesmo. Resultado: O
Ubuntu a partir da sua versão 8.04 veio por padrão com o advanced power management no level 254
(desempenho máximo). Para assegurar o que eu disse, digitem o comando abaixo, que lista
o nível do gerenciamento de energia no Ubuntu:
$ sudo hdparm -I /dev/sda | grep Advanced
Advanced power management level: 254
* Advanced Power Management feature
Exatamente a linha Advanced power management level: 254 mostra o valor
atual. Como isso gera incômodos, os mais atentos poderão (em alguns casos) perceber um
aumento da temperatura média do HD nos Ubuntus atuais.
[1] Comentário enviado por
pinduvoz em 09/06/2011 - 01:37h:
Esse risco ainda existe?
Pensei que isso tinha sido resolvido há muito tempo.
[2] Comentário enviado por
levi linux em 09/06/2011 - 07:37h:
Bom dia!
E quanto ao Slackware 13.1, você saberia me informar se esse problema afeta a versão 13.1.
Bom artigo.
Vlw.
[3] Comentário enviado por
levi linux em 09/06/2011 - 07:53h:
Testei aki no Slackware 13.1 32 bits com KDE
a saída do hdparm foi está
root@darkstar:/home/levi# hdparm -I /dev/sda | grep Advanced
Advanced power management level: 254
* Advanced Power Management feature set
Parece que está tudo ok no 13.1.
[4] Comentário enviado por
hgil em 09/06/2011 - 07:55h:
Pois é tenho notado que isso vem ocorrendo também no Aptosid e no Linux Mint 11 também. Mas no hardware que uso Acer TimelineX 4820T e AcerOne D255 a única solução foi desabilitar o gerenciamento de energia com o comando hdparm -B 255 /dev/sda. Contudo, notei também que no notebook do meu irmão (mesmo modelo do meu) que tem o Mint 9 instalado (kernel 2.6.28) e no netbook de minha namorada (acer one com ubuntu 10.04 kernel 2.6.28) esse problema não ocorre. Interessante que no meu outro notebook (Acer 5050-3371) também tenho instalado o Aptosid na mesma versão do TimelineX e o problema ocorreu pouquíssimas vezes. Além disso, verifiquei que algumas vezes esse desligamento/religamento de ciclo não ocorre. Então ainda estou tentando descobrir se isso é um problema no kernel, ou no pacote responsável pelo gerenciamento de energia. O fato é que no meu notebook mais novo (aptosid KDE, 2.6.39) o bug ocorre quase sempre, da mesma forma que no netbook da minha cunhada (Linux Mint 11, Gnome, kernel 2.6.38). Sendo que a solução encontrada até agora é o comando hdparm -B 255 /dev/sda. Se alguém souber outra solução seria de grande utilidade.
[5] Comentário enviado por
leandro em 09/06/2011 - 09:11h:
Bom dia a todos!
Este problema descobri recentemente no Slackware versão 13.1, o mesmo ainda ocorre na versão 13.37.
Mas como disse o Levi Linux, ele possui também a mesma versão do Slackware que a minha, no caso dele o problema não ocorre. Pode ser o mesmo caso do problema do controle de brilho da tela de notebooks, onde não é em todos os hardwares que ocorre.
[6] Comentário enviado por
brpemerson em 09/06/2011 - 09:30h:
Uso Debian 6.0.1 e aqui o valor estava em 128.
Já fiz a alteração.
[7] Comentário enviado por
albfneto em 09/06/2011 - 10:01h:
Bom artigo. 10. Testei nos meus HDD, multipla distro, contudo, não parece haver problema.
embora meu HDD2, sdb2, já teve bad blocks e foi corrigido com hdd regenerator, e está funcionando até agora
o hdd1 é muito pouco usado,quase que só com windows eu uso windows 2 vezes por mês e olhe lá...
[8] Comentário enviado por
hags em 09/06/2011 - 10:31h:
Grande matéria. Uso a distribuição Linux Mint 10 derivada do Ubuntu, porém o valor padrão estava 128. Fiz a alteração e agora está em 254.
Obrigado pela Dica.
Hélio.
[9] Comentário enviado por
levi linux em 09/06/2011 - 10:40h:
Bom dia!
leandro nk, muito obrigado pelos esclarecimentos.
Já estou com o DVD do Slack 13.37 só não tive tempo de instalar, mas vou tentar instalar esse final de semana e vou dar uma testada.
Levi
[10] Comentário enviado por
cesarasilva em 09/06/2011 - 11:43h:
Ola, eu fiz o teste no meu notebook com o Ubuntu 10.10 e deu certo, apareceu a mensagem com o valor 254, só que eu fiz o mesmo teste no meu desktop com o Slackware 13.37 e não apareceu nada, eu verifiquei linha por linha e não aparece a mensagem "Advanced power management level".
???
[11] Comentário enviado por
h5n1 em 09/06/2011 - 12:34h:
Muito bom artigo. Tinha passado por isso no Ubuntu. Pior fiz os testes no OpenSUSE e acabou que tive que fazer as alterações propostas.
vlw
[12] Comentário enviado por
icefusion em 09/06/2011 - 13:49h:
alguém tem alguma informação com respeito a esse problema com Debian????
eu to sem notebook em casa então não tem como fazer o teste!!!
[13] Comentário enviado por
leandro em 09/06/2011 - 14:12h:
Icefusion: Nos meus testes estava disabled, com ciclos por minuto medianos. Já no pc do brpemerson no comentário acima, estava em 128, ou seja com ciclos altos. Isso reforça a tese de que depende mais do hardware do que da distribuição em si.
Hags: estranho, sendo o Mint derivado do Ubuntu deveria ter o problema também corrigido.
Cesarasilva: Eu não encontrei em minha pesquisa menção de que o problema também ocorre em desktops. Fique tranquilo. Quanto ao não aparecimento do level do power management, deve-se ao fato do hd do seu desk não possuir este recurso de economia de energia.
Acabei de instalar o BackTrack 5 Kde, e o mesmo também apresentou o problema. O level está em 128. Estranho o fato de distribuições derivadas do Ubuntu estarem apresentando o problema.
Obrigado a todos.
[14] Comentário enviado por
xerxeslins em 09/06/2011 - 15:45h:
Nota 10 para o artigo.
leandro nk, na verdade o erro do "HDparm" foi meu. Desculpe. Mas eu já modifiquei e também inverti a divisão de ciclos pelo tempo. Qualquer outra coisa é só avisar.
Abraço.
[15] Comentário enviado por
leandro em 09/06/2011 - 17:06h:
Obrigado, mas o inversão da divisão foi erro meu. sorry!
[16] Comentário enviado por
slackrichard em 09/06/2011 - 22:23h:
bom estou usando o slackware 13.37 e os problemas descritos não estão presentes
como prova veja os resultados:
smartctl -A /dev/sda | grep Load_Cycle_Count
225 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 1214
root@darkstar:~# hdparm -I /dev/sda | grep Advanced
Advanced power management level: 254
* Advanced Power Management feature set
root@darkstar:~# hdparm -I /dev/sda | grep Advanced
Advanced power management level: 254
* Advanced Power Management feature set
não testei nas versões anteriores.
[17] Comentário enviado por
mcnd2 em 09/06/2011 - 23:18h:
Fala ai @Leandro NK.
Parabenizo pelo belo trabalho feito e explicativo dos fatos.
Como sugerido vai o exemplo de meu notebook DELL Inspiron 15R com Debian 6.0.1 amd64, que teve um level de 128.
===================================================================
root@debian:/home/mcnd2# hdparm -I /dev/sda | grep Advanced
Advanced power management level: 128
* Advanced Power Management feature set
root@debian:/home/mcnd2# gedit /etc/rc.local (foi acrecentado no arquivo como orientado)
root@debian:/home/mcnd2# /etc/init.d/rc.local start
/dev/sda:
setting Advanced Power Management level to 0xfe (254)
APM_level = 254
root@debian:/home/mcnd2# hdparm -I /dev/sda | grep Advanced
Advanced power management level: 254
* Advanced Power Management feature set
root@debian:/home/mcnd2# smartctl -A /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count 0x0032 092 092 000 Old_age Always - 16591
root@debian:/home/mcnd2#
====================================================================
Mais uma vez parabéns. Abraço.
[18] Comentário enviado por
leandro em 10/06/2011 - 10:41h:
Obrigado, Slackrichard e M¢Nd² pela contribuição.
[19] Comentário enviado por
predator em 10/06/2011 - 11:32h:
Testei com o ubuntu 11.04, em um Compaq Presario o nível esta em 128.
[20] Comentário enviado por
removido em 11/06/2011 - 11:11h:
Otimo artigo..
eu tenho um notebook lg r410 e instalado nele o mint 11, fiz o teste e esta tudo normal, acredito que deveremos ter divergencias de resultado, pois concordo com o que foi dito, depende muito de marca de equipamento e os compenentes internos, pois existem distros que não dão problemas e outras sim, vai ser questão de teste mesmo...
abraço a todos.
[21] Comentário enviado por
leandro em 11/06/2011 - 12:18h:
Pois é, Waqvan. Está tudo mesmo variando conforme as configurações de hardware; como disse o Predator no comentário acima, até mesmo o Ubuntu ainda apresenta isso.
Obrigado aos dois.
[22] Comentário enviado por
cesarasilva em 11/06/2011 - 20:13h:
Eu fiquei tão interessado no assunto que esqueci que o problema era referente apenas em notebooks, hasuahsu!
Vlw, Leandro NK
[23] Comentário enviado por
fs.schmidt em 12/06/2011 - 16:04h:
Testei no Opensuse 11.4, hd Hitachi 160gb HTS541612J9SA00:
hdparm -I /dev/sda | grep Advanced
Advanced power management level: 128
* Advanced Power Management featue set
[24] Comentário enviado por
leandro em 13/06/2011 - 21:19h:
Muito Obrigado, fs.schmidt.
[25] Comentário enviado por
joseeeveraldo em 15/06/2011 - 20:30h:
para executar o teste com o smartctl devo executar o comando 2 vezes e durante este intervalo de tempo devo ficar sem usar o sistema ou usá-lo normalmente? Outra dúvida no teste do hdparm o advanced power management estava em 128, porem quando eu testei o comando smartclt dava em média 1 ciclo por minuto, neste caso irei ter algum problema no meu hd?
[26] Comentário enviado por
iz@bel em 16/06/2011 - 00:34h:
Debian Squeenze amd64 num Dell Inspiron N4010
root@dell:/home/izabel# uname -a
Linux dell 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 x86_64 GNU/Linux
root@dell:/home/izabel# hdparm -I /dev/sda | grep Advanced
Advanced power management level: 254
* Advanced Power Management feature set
[27] Comentário enviado por
leandro em 16/06/2011 - 08:39h:
@ joseeeveraldo: Qual distribuição você utiliza ? é em notebook ou desktop? Quanto a contagem de ciclos pelo smartctl. Refaça a contagem, utilizando o pc normalmente (apenas evite jogar jogos pesados, ou baixar algo da internet via torrent), já que o valor 128 até agora tem se mostrado o mais agressivo em relação à economia de energia.
@ iz@bel: Obrigado por sua contribuição.
muitíssimo obrigado aos dois.
[28] Comentário enviado por
huxley em 18/06/2011 - 20:46h:
huxley alexandre # hdparm -I /dev/sda |grep Advanced
Advanced power management level: 254
* Advanced Power Management feature set
huxley alexandre #
Tudo Normal!
Utilizo Linux Mint 10 (Gnome)
[29] Comentário enviado por
leandro em 19/06/2011 - 10:51h:
Obrigado huxley.
[30] Comentário enviado por
CelsoRod em 05/08/2011 - 23:11h:
Leandro? Este problema ocorre só em notebooks ou em desktops também?
Outra pergunta. Estou usando o MInt 11, instalei o pacote smartmontools e entrei com os comandos que você sugeriu, mas não recebi saída alguma.
Você sabe o que pode ser?
[31] Comentário enviado por
leandro em 06/08/2011 - 09:07h:
Bom dia!
@ CelsoRod. Até onde eu sei, o problema só ocorre em notebooks, devido principalmente à questão de economia de energia (que é bem mais agressiva nestes). Quanto aos comandos não darem resultados, se você utiliza Desktop, provavelmente no seu hdd não há este gerenciamento de energia. Mas, se você utiliza notebook; poste a saída dos comandos:
# smartctl -i /dev/sda
# smartctl -A /dev/sda
Ou se preferir, poste uma pergunta na sessão correspondente do site.
Obrigado.
[32] Comentário enviado por
rey em 09/09/2011 - 17:10h:
Interessantissimo o artigo, li inteiro sem me cansar e é bom pois acrescentou mais conhecimento.
Particularmente, eu não me preocupo com isso porque uma distro não fica tempo suficiente no meu notebook para fazer algum estrago no HD (risos). Menos de 1 mês de Debian e penso em voltar ao Arch... e raramente uso o linux também.
Vou verificar qual o resultado no meu note, mas acho interessante acrescentarem marca do notebook e HD para que se possa ter um parametro de quais equipamentos apresentam maior indice de problema.
[33] Comentário enviado por
leandro em 10/09/2011 - 07:56h:
@ rey. Obrigado por comentar.
Muitos já postaram o fabricante de seus notebooks. Só que eu esqueci de postar o meu,rsrsrs.
Aqui vai: Lenovo G450; Hd SAMSUNG SpinPoint M5 series, modelo HM160HI
Nota: Neste meio tempo, instalei o Sabayon 6 e Fedora 15. Ambos não apresentam o problema...
[34] Comentário enviado por
willys em 20/09/2011 - 23:07h:
Testei com lenovo 3000N200,
Debian 6.0 estava em 128, ajustei conforme a orientação e ficou em 254
Ubuntu 11.04 estava em 254, sem ajustes
HD Seagate Momentus 7200.4 series, ST9500420AS
(este HD não é original dele, o anterior pifou )
Parabens pelo trabalho, muito bom!
[35] Comentário enviado por
leandro em 25/09/2011 - 23:23h:
@ willys. Obrigado pela sua contribuição.
Já está publicada a atualização do artigo. E os nomes dos membros que postaram a saída dos comandos sugeridos, também constam lá como uma forma de agradecer pela imensa colaboração para com o artigo.
Abraços a todos.