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: 55.819 ]

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


Apêndice 1: o comando smartctl



O smartctl pertence ao pacote smartmontools, e é um utilitário para verificação e checagem de logs gerados pelo SMART (tecnologia de auto-monitoramento, análise e relatório- em inglês) que por sua vez monitora o estado do HD gerando logs de seus resultados.  

Alguns comandos:

# smartctl -i /dev/sda

smartctl 5.40 2010-10-16 r3189 [i486-slackware-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net


=== START OF INFORMATION SECTION ===
Model Family:     SAMSUNG SpinPoint M5 series
Device Model:     SAMSUNG HM160HI
Serial Number:    S1SYJ56Z401313
Firmware Version: HH100-14
User Capacity:    160,041,885,696 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
Local Time is:    Mon May  9 14:52:02 2011 BRT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Lista o modelo nº de série e versão de firmware do HD, entre outras coisas.  Além de mostrar o status do SMART.

# smartctl -Hc /dev/sda

smartctl 5.40 2010-10-16 r3189 [i486-slackware-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                 (  55) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  55) minutes.
SCT capabilities:              (0x003f) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

Este realizou um auto teste e passou um resultado geral dos mesmos:  “SMART overall-health self-assessment test result: PASSED” “

# smartctl -l error /dev/sda

smartctl 5.40 2010-10-16 r3189 [i486-slackware-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

Já este comando, procura por logs de erros gerados pelo SMART. Só se deve preocupar-se com a saúde do HD quando este apresentar muitos e frequentes relatórios de erros.

# smartctl -t short /dev/sda

smartctl 5.40 2010-10-16 r3189 [i486-slackware-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Mon May  9 15:16:35 2011

Use smartctl -X to abort test.

Este executa um teste rápido (2 min), no HD. Pode-se também executar um longo, modificando “short” por “long”. Mas este último demora muito mais a terminar (cerca de 55min).

Para saber o resultado do teste, digite:

# smartctl -l selftest /dev/sda

smartctl 5.40 2010-10-16 r3189 [i486-slackware-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_   Description          Status                           Remaining       LifeTime(hours)  LBA_of_first_error
# 1   Short      offline       Completed without error             00%                   2296                     -

Outro e um dos mais utilizados comandos, é o:

# smartctl -A /dev/sda smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME               FLAG      VALUE    WORST   THRESH   TYPE        UPDATED    WHEN_FAILED    RAW_VALUE
1     Raw_Read_Error_Rate          0x000f     100         100           051      Pre-fail      Always                     -                        0
3     Spin_Up_Time                     0x0007     252         252          025      Pre-fail       Always                     -                      200
4     Start_Stop_Count                0x0032     098         098          000      Old_age      Always                     -                      2872
5     Reallocated_Sector_Ct         0x0033     252         252          010      Pre-fail       Always                     -                        0
7     Seek_Error_Rate                 0x000f     252          252          051      Pre-fail      Always                     -                        0
8     Seek_Time_Performance      0x0024     252         252           015      Old_age     Offline                     -                        0
9     Power_On_Hours                 0x0032     096         096           000      Old_age     Always                    -                       2297
10   Spin_Retry_Count                0x0032     100        100            051      Old_age     Always                    -                         3
12   Power_Cycle_Count              0x0032     099         090           000      Old_age     Always                    -                       1473
191 G-Sense_Error_Rate             0x0032     100         100           000      Old_age     Always                     -                      972
192 Power-Off_Retract_Count     0x0032     100         100           000      Old_age     Always                     -                       112
194 Temperature_Celsius            0x0022     094         070           000      Old_age     Always                     -                    48 (Lifetime Min/Max 16/56)
195 Hardware_ECC_Recovered    0x001a     100         100           000      Old_age     Always                     -                        0
196 Reallocated_Event_Count     0x0032     100         100           000      Old_age     Always                     -                   3159 (0, 2)
197 Current_Pending_Sector      0x0012     252         252           000      Old_age     Always                     -                        0
198 Offline_Uncorrectable          0x0030     252         252          000      Old_age     Offline                      -                        0
199 UDMA_CRC_Error_Count     0x0036     200         200          000      Old_age     Always                     -                        0
200 Multi_Zone_Error_Rate        0x000a     100        100          000     Old_age      Always                      -                       0
201 Soft_Read_Error_Rate          0x0032     252        252          000      Old_age     Always                      -                        0
223 Load_Retry_Count               0x0032     100        100           000     Old_age      Always                     -                        243
225 Load_Cycle_Count               0x0032     095        095           000      Old_age     Always                     -                  58068

Note que se trata do comando para monitorar os ciclos, só que completo (sem utilizar Grep para listar apenas a linha Load_Cycle_Count). Uma linha que merece atenção é a que trata da “194 Temperature_Celsius     0x0022     094   070    000      Old_age     Always   -   48 (Lifetime Min/Max 16/56) ” Onde mostra a temperatura atual, junto com os limites ideais de min/max.
Página anterior     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

Ativando zRAM no Slackware

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

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

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

Uma alternativa ao ConkyForecast: O BrWeather

Leitura recomendada

Rumo a um pinguim móvel

Como instalar um cartão PCMCIA (modem/rede) no meu notebook?

Fax Modem LG LM I56N no SuSE 10

Configurando HD via porta USB no Linux

Cabos de rede e conectorização

  
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