Descubra quais processos estão gravando no disco rígido

30

No meu Lenovo T400 e Ubuntu, a luz para gravação do disco rígido continua piscando. Eu queria saber se no Linux é possível descobrir quais processos estão fazendo I / O para o disco rígido? Assim como por top , você pode descobrir quais processos estão usando mais CPU e memória.

    
por Tim 15.07.2011 / 07:05

4 respostas

38

Iotop é uma boa ferramenta para o que você deseja. Também permite exibir a quantidade acumulada de E / S em qualquer das opções DISK READ, DISK WRITE, SWAPIN e IO (porcentagem geral). Isto é através de uma interface bacana:

  • Você apenas pressiona a no teclado, e ele ordenará os processos mais famintos na parte superior.
  • Invertendo a ordem, basta pressionar r .
  • Se você quiser classificar por outras colunas, basta pressionar a tecla esquerda / direita.

Assim como top , a apresentação é bastante movimentada. Outra coisa é que ele não tem as inúmeras opções que top tem (por exemplo, não consigo ocultar nenhuma das colunas nas quais estou desinteressado), mas a ferramenta é mais do que bom o suficiente para o seu propósito específico.

    
por 15.07.2011 / 10:09
14

Você pode usar lsof ( man lsof ). O seguinte retornará uma lista de todos os arquivos que estão abertos para gravação:

lsof | grep -e "[[:digit:]]\+w"
    
por 15.07.2011 / 17:42
2

Use strace .

    
por 15.07.2011 / 07:25
1

Especialmente para baixa atividade de disco, é necessário usar o iotop no modo de lote, para evitar que as linhas de acesso curtas desapareçam rapidamente. A resposta de Como faço para registrar o sistema de arquivos de leitura / gravação por nome de arquivo no Linux? mostra como fazer isso.

So far iotop is the best overall solution. The following command gives you a real-time output of all the processes using the disk.

iotop -bktoqqq -d .5

where: -b     is batch mode
       -k     is kilobytes/s
       -t     adds timestamp
       -o     only show processes or threads actually doing I/O
       -qqq   removes output headers
       -d .5  updates every .5 seconds

Depois de ter o ID do processo, você também pode encontrar os arquivos com

 lsof -p $PID
    
por 12.02.2017 / 17:38