Saiba porque o Linux pode (ainda) estar diminuindo a vida útil do HD do seu notebook

Olá a todos do VOL, neste artigo retomo este velho assunto que assolou vários fóruns sobre Gnu/Linux pela Internet afora em meados de 2007 / 2008. Atualmente o mesmo não foi totalmente superado como irei demostrar nas próximas linhas.

[ Hits: 56.538 ]

Por: Leandro Nkz em 08/06/2011 | Blog: http://brweatherproject.blogspot.com/


Como tudo começou



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.
    Próxima página

Páginas do artigo
   1. Como tudo começou
   2. E atualmente no Slackware?
   3. E nas outras distribuições?
   4. Apêndice 1: o comando smartctl
   5. Interface gráfica para o Smartmontools
   6. Apêndice 2: o comando hdparm
   7. Finalizações
Outros artigos deste autor

Instalação e configuração básica de um Debian 6 Squeeze para Desktops

Ativando zRAM no Slackware

Trazendo toda a usabilidade do GNOME 2 para o GNOME 3 do Ubuntu 11.10

Oracle XE 11.2 no Slackware 14.0 64 bits - Instalação e configuração

Uma alternativa ao ConkyForecast: O BrWeather

Leitura recomendada

Adaptador USB RF para redes sem fio (Clone) no Debian e Dapper

Instalando e usando impressora e scanner na multifuncional HP F4180 (e série F4100) no Linux

Scanner / impressora Lexmark Series 1100 / 1185 / 1195 / 1250 / 1270

Mandrake x LG

Conheça tudo sobre os hardwares que compõem o seu computador com um simples comando

  
Comentários
[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 removido 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 removido 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 jcristiano 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 removido 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 removido 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.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts