Divisão de carga de E / S de disco do Linux, por caminho e / ou processo do sistema de arquivos?

15

Alguém tem experiência com uma ferramenta que pode fornecer uma indicação de carregamento de E / S de disco pelo caminho do sistema de arquivos.

Eu uso o utilitário 'iostat', frequentemente, para saber quanta atividade de disco está ocorrendo em um host Linux. O 'iostat' fornece uma análise por dispositivo, para que você possa ver a atividade em um dispositivo de bloco específico. Mas não é mais profundo do que isso - você não pode, por exemplo, consultar a carga de gravação gerada por 'httpd' no diretório '/ var / log / httpd /'.

Ryan B. Lynch
fonte
Você não pode realmente monitorar pelo caminho do sistema de arquivos, pois no momento em que o kernel começa a jogar com o dispositivo de bloco, não há informações sobre onde na árvore o pedido está. Saber qual processo está causando o dano, por outro lado, dá a você alguém para rastrear, o que geralmente equivale à mesma coisa no final.
Womble
4
Com base nessas respostas, tentei o htop e o iotop e parece que os dois têm a funcionalidade básica para quebrar as taxas de E / S por processo. Algumas grandes diferenças: * O htop tem muitas funções e mede todos os tipos de estatísticas do sistema, enquanto o iotop analisa apenas as taxas de E / S por processo. * Usar o iotop pela primeira vez é um pouco mais fácil, pois é mais simples. O sinalizador '-o' ("only") do iotop oculta processos que não se envolvem no IO, o que é MUITO útil na solução de problemas de porcos em disco. Não consegui encontrar algo semelhante no htop. Ambas as ferramentas funcionam, mas vou usar o iotop para isso.
22499 Ryan B. Lynch
1
há também o topo, que exibe dados ao vivo e históricos por processo de maneira interativa.
Tobu

Respostas:

18

Você pode usar o iotop para esse fim.

Eu trabalho como top normal, não posso dizer muito mais. A maioria das distribuições terá o pacote, mas aqui está a sua página inicial . Você precisará de um kernel recente.

cstamas
fonte
iotop é brilhante!
31710 Joseph Kern
24

Usando o htop, faça o seguinte.

htop
F5 (Tree view)
F2 (Setup)
Select columns
Select RBYTES WBYTES
F10 (Done)

E pronto, por E / S de disco do processo, em tempo real.

Joseph Kern
fonte
1
Resposta destacada
Dave Cheney
1
por que o HTOP não adicionaria isso como padrão? : S
confiq 11/08/2015
Ele parece exigir acesso privilegiado ao relatório sobre outros processos (bem como iotop) - possivelmente porque não é padrão também ...
Paul Ridgway
0

O Collectl também pode mostrar as cargas de E / S do processo, mas como também pode monitorar virtualmente todos os outros recursos do sistema, você obtém tudo em uma ferramenta. Por exemplo, você pode olhar para os principais processos de E / S ou CPU agora, junto com disco, rede, etc. MAS você também pode reproduzir dados históricos e exibir os mesmos tipos de dados. Além disso, existem 7 E / S de processos diferentes fornecidas pelo kernel. Collectl pode mostrar a todos eles e até deixá-lo classificá-los. -marca


fonte