iotop, mas para um disco específico?

iotop, mas para um disco específico?

Existe uma ferramenta como iotopmas 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? ( dstatetc. mostram apenas a atividade agregada em todos os processos por volume, enquanto estou interessado em ver quanto cada processo está contribuindo.)

Responder1

Esta não é uma resposta ideal, mas lhe dirá, a cada segundo, qual processo gravou mais e quanto gravou em um determinado disco (neste caso /dev/sda):

dstat -tdD /dev/sda --top-io

Você verá algo como:

saída dstat

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/xmostrará:

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

informação relacionada