Como posso descobrir qual processo está constantemente gravando no disco?
Eu gosto que minha estação de trabalho fique quase silenciosa e apenas construo um novo sistema (P8B75-M + Core i5 3450s - os 's' porque possui um TDP máximo mais baixo) com ventiladores silenciosos etc. e instalei o Debian Wheezy de 64 bits nele.
E algo está me dando nos nervos: posso ouvir algum tipo de padrão, como se o disco rígido estivesse gravando ou procurando algo ( tick ... tick ... tick ... trrrrrr, enxágüe e repita a cada segundo).
No passado, eu tive um problema semelhante no passado (muitos, muitos anos atrás) e verificou-se que havia algum log do CUPS ou algo assim e simplesmente redirecionei esse (não importante) para um disco de RAM (real).
Mas aqui não tenho certeza.
Eu tentei o seguinte:
ls -lR /var/log > /tmp/a.tmp && sleep 5 && ls -lR /var/log > /tmp/b.tmp && diff /tmp/?.tmp
mas nada está mudando lá.
Agora, o mais estranho é que eu também ouço o padrão quando o prompt solicitando que eu digite minha senha de descriptografia do LVM está sendo exibido.
Poderia ser algo no kernel / sistema que acabei de instalar ou tenho um disco rígido com defeito?
hdparm -tT /dev/sda
relate a velocidade correta do HD (130 GB / s sem cache, sata 6 GB) e já instalei e compilei de grandes fontes (Emacs) sem problemas, por isso não acho que o sistema esteja ruim.
(HD é um Seagate Barracude 500GB)
Respostas:
Você tentou examinar como os programas
iotop
estão sendo exibidos? Explicará exatamente que tipo de processo está gravando no disco.saída de exemplo:
fonte
iotop -o -b -d 10
que a cada 10 segundos imprime uma lista de processos que são lidos / gravados no disco e a quantidade de largura de banda de E / S usada.Você pode ativar a depuração de E / S por meio de
echo 1 > /proc/sys/vm/block_dump
e assistir às mensagens de depuração em / var / log / syslog . Isso tem a vantagem de obter algum tipo de arquivo de log com atividades passadas, enquantoiotop
mostra apenas a atividade atual.fonte
Supondo que os ruídos do disco sejam devidos a um processo que causa uma gravação e não a algum problema de rotação do disco , você pode usar o subsistema de auditoria (instalar o
auditd
pacote ). Observe assync
chamadas e seus amigos:Assista os logs
/var/log/audit/audit.log
. Cuidado para não fazer isso se os próprios logs de auditoria estiverem nivelados! Verifique se/etc/auditd.conf
aflush
opção está definida comonone
.Se os arquivos estiverem sendo descarregados com frequência, o provável culpado são os logs do sistema. Por exemplo, se você registrar falhas nas tentativas de conexão recebidas e alguém estiver investigando sua máquina, isso gerará muitas entradas; isso pode fazer com que um disco emita ruídos no estilo de metralhadora. Com o daemon de log básico sysklogd, verifique
/etc/syslog.conf
: se um nome de arquivo de log não for precedido por-
, esse log será liberado no disco após cada gravação.fonte
Pode ser que suas unidades estejam girando automaticamente para baixo, muitas unidades de nível de consumidor fazem isso atualmente. Infelizmente, mesmo em um sistema com carga leve, isso faz com que as unidades diminuam constantemente e depois subam novamente, especialmente se você estiver executando o hddtemp ou semelhante para monitorar a temperatura da unidade (a maioria das unidades estupidamente não permite consultar o valor da temperatura SMART sem girar a unidade - cretinoso!).
Isso não é apenas irritante, pode desgastar as unidades mais rapidamente, pois muitas unidades possuem apenas um número limitado de ciclos de estacionamento. por exemplo, consulte https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/952556 para obter uma descrição do problema.
Desativei a ociosidade em todas as minhas unidades com o seguinte código de shell. você pode colocá-lo em um script /etc/rc.boot ou em /etc/rc.local ou similar.
fonte
Acabei de descobrir que o smart estava causando um disco USB externo girar repetidamente no meu raspberry pi. Embora o SMART seja geralmente uma coisa boa, decidi desativá-lo novamente e, desde então, parece que a atividade indesejada do disco parou
fonte
Você pode se interessar um pouco por isso. Deve reduzi-lo para a maioria.
Forneça arquivos modificados desde a inicialização no dispositivo físico do sistema / files. Conhecer os arquivos provavelmente ajudará a identificar o gravador.
fonte
Caso você precise reduzi-lo a um disco exato, use o seguinte:
execute
lsblk
e procure o número do dispositivo. No caso abaixo, é9:126
execute
lsof | grep '9,126'
com a:
substituição com em,
comparação com o número do disco acima. No meu caso, isso aparece como:com o PID de
389162
matar esse processo usando:fonte
O problema é que o sistema precisa liberar dados dos buffers de disco para o disco a cada 5 segundos, por padrão. Portanto, se o disco girar para baixo, haverá pouca opção a não ser girar novamente novamente quando ocorrer uma descarga. Portanto, o problema não é realmente evitável, a não ser desabilitar spins downs ou recursos de gerenciamento de energia em disco
hdparm -B 255 /dev/hdax
. Esta é provavelmente a melhor opção, pois reiniciar com tanta frequência pode ser definitivamente mais prejudicial do que simplesmente ficar o tempo todo.fonte