Monitorar a atividade do disco por arquivo

1

Estou tentando encontrar um programa que monitore ativamente quantos dados são lidos e gravados por segundo para abrir arquivos e, em seguida, classificar os arquivos com o maior uso no topo. Isso seria semelhante a iotop , mas em uma base por arquivo, em vez de por thread ou por processo. Também seria idêntico ao separador Disco no Monitor de Recursos do Windows 7. Alguma sugestão? Obrigado

    
por mach 31.07.2012 / 21:49

2 respostas

0

Eu acho que algo baseado em lsof pode funcionar, mas eu realmente não o usei.

Há vários scripts de exemplo aqui: link Isso pode dar pistas sobre como fazer o que você quer.

    
por Ian B. 01.08.2012 / 04:31
0

Hmm, bruto:)

O mais próximo que encontrei é o módulo stap que fez io stats no base de nível de processo.

OBSERVAÇÃO: O Systemtap pode alterar seus componentes internos do kernel em tempo de execução, USE POR SUA PRÓPRIA CONTA E RISCO! link

Este script:

link

Usa vfs_read / write para obter uma IO bruta executada em nome de processo X. Você notará que vfs_read toma struct file como um argumento de modo que você estava inclinado a determinar o real alça de arquivo, você poderia monitorar o io naquele ponto de entrada.

Eu não tenho um método para determinar isso em cima do meu cabeça e honestamente é algum trabalho para acertar. Que sobrou como um exercício para o OP. Você pode querer verificar Linux "perf", pode haver um método pronto lá.

Ou talvez você queira reconsiderar toda a sua abordagem.

    
por ppetraki 01.10.2012 / 18:02