
Existe uma ferramenta como iotop
mas para monitorar IO em volumes específicos? (Ou talvez eu tenha perdido uma maneira de filtrar iotop
?) Caso contrário, existe alguma maneira de obter essas informações por meio de (digamos) /proc
? ( dstat
etc. mostram apenas a atividade agregada em todos os processos por volume, enquanto estou interessado em ver quanto cada processo está contribuindo.)
Responder1
Responder2
Confirafatrace
:
Por exemplo, faça cd na partição que você deseja (no meu caso, ponto de montagem /hdd
) monitorar e executar
sudo fatrace -c -t
Então, por exemplo, a touch /hdd/x
mostrará:
16:11:05.278541 touch(179482): + /hdd
16:11:05.278541 touch(179482): CWO /hdd/x
Detalhes:
Usage: fatrace [options...]
Options:
-c, --current-mount Only record events on partition/mount of current directory.
-o FILE, --output=FILE Write events to a file instead of standard output.
-s SECONDS, --seconds=SECONDS Stop after the given number of seconds.
-t, --timestamp Add timestamp to events. Give twice for seconds since the epoch.
-p PID, --ignore-pid PID Ignore events for this process ID. Can be specified multiple times.
-f TYPES, --filter=TYPES Show only the given event types; choose from C, R, O, or W, e. g. --filter=OC.
-C COMM, --command=COMM Show only events for this command.
-h, --help Show help.
Responder3
Como ainda não há respostas...
Eu não tenho uma sugestão fácil (como um switch iotop), mas se isso for importante para você, você pode escrever um módulo FUSE que apenas remonta os sistemas de arquivos em outro lugar (chroot para o processo a ser examinado) e conta a quantidade de dados lidos / escrito. Essa deve ser uma adaptação bastante fácil dos módulos existentes. Você pode perguntar à comunidade FUSE qual pode ser a melhor solução existente para começar. Provavelmente até o módulo de demonstração servirá.
Responder4
Você pode usar o iostat para monitorar a E/S do disco em busca de problemas de desempenho.
$ iostat -xd /proc