Você pode conferir http://samwel.tk/laptop_mode/ . Embora esta página não seja principalmente sobre o seu problema, mas ofereça uma boa visão geral de como as IO funcionam e as idéias, como silenciar seus discos desligando-os.
A resposta curta para o seu problema:
eco 1> / proc / sys / vm / block_dump
produzirá mensagens no syslog como:
Jul 23 10:04:05 kernel locutus: ls (5224): bloco de leitura 7340136 no dm-4
Jul 23 10:04:05 kernel locutus: ls (5224): bloco de leitura 4335136 no dm-4
Jul 23 10:04:05 kernel locutus: ls (5224): bloco de leitura 15505568 no dm-4
Jul 23 10:04:05 kernel locutus: ls (5224): bloco de leitura 7340160 no dm-4
Jul 23 10:04:05 kernel locutus: ls (5224): bloco de leitura 7340168 no dm-4
Eu usei um simples comando ls
NOTA: verifique se o log do sistema foi desligado ou gravado em um ramdisk (tipo: tmpfs) antes de fazê-lo, porque (aspas): "seu sistema pode entrar em um loop de feedback, onde o syslogd causa atividade no disco, isso causa a saída do kernel, e isso faz com que o syslogd faça mais atividade no disco "
Eu recomendo montar / tmp como um ramdisk e configurar o log para / tmp / syslog. Isso no / etc / fstab (e uma reinicialização) fará:
nenhum / tmp tmpfs padrões, tamanho = 256M 0 0
Eu tenho usado o iotop para descobrir o que está usando a unidade. No site, você deve ter "Linux kernel ≥ 2.6.20 com as opções TASK_DELAY_ACCT e TASK_IO_ACCOUNTING ativadas".
Parece que você está interessado apenas em uma unidade específica. Você pode escrever um script que verifique rotineiramente com lsof ou fusor o acesso a essa unidade / partição.
fonte
Se um processo estiver começando a gravar dados na unidade, você poderá descobrir isso verificando regularmente os arquivos abertos: lsof .
Caso contrário, você pode procurar com "free" se o arquivo de troca for usado ou não.
fonte
Você deve poder usar a auditoria do Linux para adicionar um monitor no ponto de montagem da unidade e monitorar os logs com uma pesquisa após o evento para descobrir de que arquivo foi lido ou gravado (se houver) e em qual processo a auditoria foi realizada. observe as leituras, gravações, execuções e alterações de atributos em qualquer sistema de arquivos (desde que seja compatível com o seu sistema - deve ser).
fonte
Talvez você possa usar o incron, que usa o inotify para iniciar comandos com base na atividade do sistema de arquivos. Você pode assistir ao ponto de montagem e usar o incron para acionar lsof para procurar qual processo está acessando.
fonte
O mais fácil de verificar o que está girando seu disco é:
vá para o diretório do disco montado, para mim foi / media / disk0 / transmission
então você executa:
sudo fatrace -c
você terá a saída de qualquer coisa que atinja essa pasta; por exemplo, você pode fazer login com ssh e fazer um ls.
fonte