Respostas:
Iotop é uma boa ferramenta para o que você deseja. Também permite exibir a quantidade acumulada de E / S em qualquer um dos discos de leitura, gravação de disco, troca e E / S (porcentagem geral). Isto é através de uma interface bacana:
Como top
, a apresentação é bastante ocupada. Outra coisa é que ele não tem as inúmeras opções que existem top
(por exemplo, não posso escolher ocultar nenhuma das colunas nas quais estou desinteressado), mas a ferramenta é mais que suficiente para seu objetivo específico.
-o
( --only
) para filtrar todas as tarefas que não fazem nenhuma E / S. Isso torna a lista menos cheia
Você pode usar lsof
( man lsof ). A seguir, retornará uma lista de todos os arquivos abertos para gravação:
lsof | grep -e "[[:digit:]]\+w"
w
partir do comando acima, você faz grep para arquivos abertos apenas para gravação . Os arquivos abertos para gravação e leitura ( u
) não serão exibidos, mas também podem ser gravados. Se você gostaria de ver arquivos de abrir para escrita e para + leitura e escrita, acredito que isso é o que você está procurando:lsof | grep -e "[[:digit:]]\+[wu]\{1\}"
Use strace
.
Especialmente para baixa atividade de disco, é necessário usar o iotop no modo em lote, para evitar que linhas de acesso curtas desapareçam rapidamente. A resposta de Como faço para registrar / ler o sistema de arquivos por nome de arquivo no Linux? mostra como fazer isso.
Até agora
iotop
é a melhor solução geral. O comando a seguir fornece uma saída em tempo real de todos os processos usando o disco.
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