Aumente a vida de seu HD principalmente se for notebook

Iniciado por ucastrobr, 17 de Dezembro de 2007, 23:34

tópico anterior - próximo tópico

Adão Oliveira

Para aqueles que estão informando que o comando não retorna nada .. execute antes um:

df -a

para ver qual o seu disco.
HP Pavilion dv6750BR (Ubuntu 9.10)

crdrj

#16
Estou usando o Xubuntu 8.10, instalação limpa usando todo o HD, em um Dell Vostro 1510.
Seguem os meus resultados:
crdrews@ubuntu:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       -       5055
crdrews@ubuntu:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       -       5101

Pelo o que entendi no tutorial, devo criar um arquivo chamado hdd-spin-fix.sh, colar o script descrito, executar o comando chmod e executar o script... É isso?

Eu acho que este tutorial não está muito claro, especialmente levando em conta usuários novatos. Os passos não estão em ordem: primeiro o tutorial descreve o script, depois diz para criar o arquivo onde o script será colado, só na última mensagem do post está a descrição do comando para checar se o HD está com sda ou diferente... Enfim, sugiro uma reformulação para que fique mais claro, até pq é um problema que ainda existe nas versões atuais da família Ubuntu e afeta a todos os usuários de notebooks.


Update

Agora, as 6:28 da manhã, depois de fazer o lance do script (utilizei a configuração 254), o resultado é este:
crdrews@ubuntu:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
[sudo] password for crdrews:
193 Load_Cycle_Count        0x0032   098   098   000    Old_age   Always       -       5227

Pouco mais de 120 "clicks" (eu não escuto nada) em 12 horas... Será q ainda é muito?
Vostro 1510 [-] Core 2 Duo T8100 [-] 2 GB DDR2 [-] GeForce 8400M [-] Ubuntu 8.10

dupavesi

pessoal saca soh:
sudo smartctl -A /dev/sda5 | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0032   253   253   000    Old_age   Always       -       0

sudo smartctl -A /dev/sda1 | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0032   253   253   000    Old_age   Always       -       0

essas sao as duas particoes q eu tenho num mesmo hd c/ uns 8 anos d idade.....
e aí??q q vcs me dizem???

crdrj

Eu te diria que o gerenciamento de energia está desabilitado a 8 anos.  ::)
Vostro 1510 [-] Core 2 Duo T8100 [-] 2 GB DDR2 [-] GeForce 8400M [-] Ubuntu 8.10

Olasimbo

#19
Gente, nem precisa criar esse script que tanto falam. Para checar isso basta fazer o seguinte (pelo menos no Hardy 8.04, que é o que eu uso):

- Execute no terminal o comando cat /proc/sys/vm/laptop_mode, se ele retornar o valor 0 então significa que o laptop_mode está desativado.
- Para garantir execute cat /etc/default/acpi-support e veja se encontram ENABLE_LAPTOP_MODE=false.
- Feito isso basta dar um cat /etc/acpi/power.sh e ver as variáveis. Vocês verão que com esse parâmetro laptop_mode desativado ele já assume o valor 255 para o hdparm -B. Vejam o exemplo abaixo (atentem à parte em negrito):

function laptop_mode_enable {
    $LAPTOP_MODE start
   
    for x in /sys/bus/ide/devices/*/block*; do
   drive=$(basename $(readlink $x));
   $HDPARM -S $SPINDOWN_TIME /dev/$drive 2>/dev/null
   $HDPARM -B 1 /dev/$drive 2>/dev/null
    done
   
    for x in /sys/bus/scsi/devices/*/block*; do
   drive=$(basename $(readlink $x));
   $HDPARM -S $SPINDOWN_TIME /dev/$drive 2>/dev/null
   $HDPARM -B 1 /dev/$drive 2>/dev/null
    done
}

function laptop_mode_disable {
    for x in /sys/bus/ide/devices/*/block*; do
   drive=$(basename $(readlink $x));
   $HDPARM -S 0 /dev/$drive 2>/dev/null
   $HDPARM -B 255 /dev/$drive 2>/dev/null
    done
    for x in /sys/bus/scsi/devices/*/block*; do
   drive=$(basename $(readlink $x));
   $HDPARM -S 0 /dev/$drive 2>/dev/null
   $HDPARM -B 255 /dev/$drive 2>/dev/null
    done
    $LAPTOP_MODE stop

}

getState;

checkStateChanged;

shopt -s nullglob

for x in /proc/acpi/ac_adapter/*; do
    grep -q off-line $x/state

    if [ $? = 0 ] && [ x$1 != xstop ]; then   
   for SCRIPT in /etc/acpi/battery.d/*.sh; do
       . $SCRIPT
   done
   if [ x$ENABLE_LAPTOP_MODE = xtrue ]; then
       (sleep 5 && laptop_mode_enable)&
   fi
    else
   for SCRIPT in /etc/acpi/ac.d/*.sh; do
       . $SCRIPT
   done
   if [ x$ENABLE_LAPTOP_MODE = xtrue ]; then
       (sleep 5 && laptop_mode_disable)&
   fi
    fi
done

steel_br

Pergunta boba:

Este "problema" foi sanado ou minimizado nas novas versões? (8.04/8.10)

ucastrobr

Ainda a família do Ubuntu 8.04 e 8.10 continua com os mesmo problemas é que a Canonical segue as idéias dos fabricantes de Notebooks.
Bom dei uma atualizada no tutorial tipo sugestão do clcampos de dar permissão ao script, comando para saber que tipo de hd você tem...
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

rafaelsarilho

Sei que este tópico é antigo, e que desde 2009 não recebia respostas, queria pedir desculpas por "reviver um defunto", mas queria saber se este problema de diminuir a vida dos HD's ainda é realidade mas versões mais recentes, ou nos computadores mais recentes? Desculpa desde já.
Até Breve... :D


Andreson Goveia

Citação de: rafaelsarilho online 31 de Maio de 2011, 22:05
Sei que este tópico é antigo, e que desde 2009 não recebia respostas, queria pedir desculpas por "reviver um defunto", mas queria saber se este problema de diminuir a vida dos HD's ainda é realidade mas versões mais recentes, ou nos computadores mais recentes? Desculpa desde já.
Até Breve... :D
Pelo que sei não tem mais esse problema.

hiltongil

#24
Cara esse tópico foi ressuscitado bem na hora. Já fazia algum tempo que eu ficava escutando um barulho no meu notebook como se a agulha do HD desligasse e religasse. Já havia procurado sobre isso e até estava achando que era normal. Após ler esse tópico percebi que esse "bug" ainda ocorre aqui. E quando eu dou o comando hdparm -B 255 (desabilitando o controle) o maldito barulho para. Apenas para destacar eu tinha percebido esse problema apenas no meu note que rodo o Aptosid com kernel 2.6.39, no note do meu irmão (mesmo modelo do meu) com o Linux Mint 9 (10.04 - kernel 2.6.32-26-generic) não ocorre esse problema. Mas hoje fui instalar o Linux Mint 11 (kernel 2.6.38-8-generic) no netbook da minha cunhada também ocorre esse "bug".

Disso tudo eu fiquei com algumas dúvidas, os notebooks meu e do meu irmão são um Acer TimelineX 4820T e o Netbook da minha cunhada é um Acer ApireOne D255. Além desses notebooks eu tenho um outro Acer 5050-3371 que se não me engano não apresenta esse problemam, sendo que também tenho instalado nele o Aptosid XFCE com o kernel 2.6.39. Será que é um bug no pacote de gerenciamento de energia, no kernel, ou no hardware da Acer? Como já venho acompanhando esse problema a um tempo também percebi que muitas vezes ao ligar o note fica tudo normal, mas em outras vezes o disco começa nesse liga/desliga. Será que fora o script sugerido há alguma outra solução?

Update: Parece que mais distros e pessoas tem sido afetadas por esse problema: <http://174.123.53.162/artigo/Antes-Ubuntu...-agora-Slackware...-Saiba-porque-o-Linux-pode-%28ainda%29-estar-diminuindo-a-vida-util-do-hd-do-seu-notebook.?pagina=1>

Lavezzo

Olá pessoal.
Estou com o mesmo problema. Meu note (HP Pavilion dm-3-1035br) faz esse barulho muitas vezes por minuto (chega a irritar). Fiz o teste e realmente constatei o problema (muitos ciclos em um intervalo de tempo pequeno, 5min).
Mas não tive sucesso ao executar todas as ações recomendadas. Segue o problema:

pi@notepi:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
[sudo] password for pi:
193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       6593
pi@notepi:~$ sudo chmod +x sh hdd-spin-fix.sh
chmod: cannot access `sh': No such file or directory
pi@notepi:~$

Estou errando em algum comando?
Agradeço a ajuda.

Ubuntu 10.04.3

hiltongil

Citação de: Lavezzo online 01 de Agosto de 2011, 11:10
Olá pessoal.
Estou com o mesmo problema. Meu note (HP Pavilion dm-3-1035br) faz esse barulho muitas vezes por minuto (chega a irritar). Fiz o teste e realmente constatei o problema (muitos ciclos em um intervalo de tempo pequeno, 5min).
Mas não tive sucesso ao executar todas as ações recomendadas. Segue o problema:

pi@notepi:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
[sudo] password for pi:
193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       6593
pi@notepi:~$ sudo chmod +x sh hdd-spin-fix.sh
chmod: cannot access `sh': No such file or directory
pi@notepi:~$

Tenta editar o rc.local. É moleza. Antes de mais nada verifica se você tem o hdparm instalado. Pode ser através do synaptic ou qualquer outra forma que você ache conveniente. Após, basta editar o arquivo /etc/rc.local com o seu editor preferido (nano, vim, kate, etc) PS: Deve ser editado pelo superusuário. Com o arquivo rc.local aberto basta inserir a seguinte linha:
Citarhdparm -B254 /dev/sdX
Claro que você vai precisar saber se o dispositivo é (sda, sdb, hda, etc) para descobrir isso basta rodar um:
Citarfdisk -l
Após adicionar a linha no rc.local reinicie o computador e verifique se o barulho continua.

OBS: Eu notei que em alguns computadores a opção:
CitarB254
não funciona, de maneira que foi preciso trocar por
CitarB255
. Além disso, em outros casos eu precisei retardar o comando com o comando sleep. Isso ocorreu no computador da minha cunhada que tem o Linux Mint e o autologin foi desabilitado. Eu atrasei o comando do hdparm em 1mim.

Estou errando em algum comando?
Agradeço a ajuda.

Ubuntu 10.04.3

Lavezzo

Ola hiltongil, fiz o que vc sugeriu, mas o baruhlo continua.
Para se ter uma idéia, vou colocar o número atual:

pi@notepi:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       6632


(desculpe não saber usar muito bem esse editor, mas é minha primeira vez no forum, e sou novato mesmo em Linux)
O meu post antigo era de 6503. Isso foi hj por volta das 11h de manhã. Religuei o note somente agora. Esses estalos estão irritando.

Meu rc.local ficou:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0
hdparm -B254 /dev/sda


Errei na disposição da última linha?


hiltongil

Citação de: Lavezzo online 01 de Agosto de 2011, 20:38
Ola hiltongil, fiz o que vc sugeriu, mas o baruhlo continua.
Para se ter uma idéia, vou colocar o número atual:

pi@notepi:~$ sudo smartctl -A /dev/sda | grep Load_Cycle_Count
193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       6632


(desculpe não saber usar muito bem esse editor, mas é minha primeira vez no forum, e sou novato mesmo em Linux)
O meu post antigo era de 6503. Isso foi hj por volta das 11h de manhã. Religuei o note somente agora. Esses estalos estão irritando.

Meu rc.local ficou:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0
hdparm -B254 /dev/sda


Errei na disposição da última linha?



Como eu disse tem algumas vezes que a opção 254 não funcionou. Tente editar a linha e colocar:
Citarhdparm -B255 /dev/sda
Qualquer coisa avisa ai que se não der a gente tenta usar o sleep. Uma pergunta você está com o autologin ativado?

Lavezzo

Cara, nada do barulho parar. Tentei com 254 e 255 e nada.

Uma pergunta você está com o autologin ativado?

Não. Toda vez que ligo o note ele pede a senha de usuário.

Como seria esse sleep?

Valeu...