Não consigo encontrar uma maneira de capturar a htop
saída de um único processo sobre IO_RATE IO_READ_RATE IO_WRITE_RATE.
Eu preciso dele (os últimos segundos IO (ou apenas 1s), não o IO acumulado geral) para determinar se um processo não está funcionando bem para reiniciá-lo automaticamente.
Eu não posso usar iotop
porque requer root e isso vai complicar meu fluxo de trabalho, principalmente porque é claramente desnecessário.
Fiz tudo o que pude, /proc/$PID/...
mas não encontrei nada que pudesse usar sobre IO em bytes. Não que não esteja lá, só que eu não consegui encontrá-lo.
Portanto, uma maneira de obter a htop
saída através de um pipe também pode ser suficiente como solução alternativa, mas não é o que estou perguntando.
Já consigo obter top
saída sobre %CPU, mas isso não é suficiente e não consegui encontrar dados de E/S em arquivos top
.
Abaixo, todas as respostas em outros lugares são sobre iotop (não) ou htop (incapaz de capturar a saída) ou outros aplicativos que não ajudaram, então decidi fazer esta pergunta:
monitorar IO do arquivo executável de um usuário em execução ler/gravar
https:// stackoverflow.com/questions/469159/an-htop-like-tool-to-display-disk-activity-in-linux (se atop
puder fazer isso, ainda não entendo como ...)
De acordo com
man proc
, as informações que você procura devem constar em/proc/(pid)/io
:Claro, você pode não encontrar esse pseudo arquivo, pois depende de estatísticas extras feitas pelo kernel, dependendo de uma opção de configuração:
CONFIG_TASK_IO_ACCOUNTING (Ativar contabilidade de E/S de armazenamento por tarefa)
Portanto, você deve reconstruir seu kernel depois de ter certeza de que esta opção está configurada. Como você lerá no link acima, você pode ser limitado a selecionar misc. outras opções de configuração. CONFIG_TASK_XACCT (Ativar contabilidade estendida sobre estatísticas de tarefas) em particular, pois o padrão é não e CONFIG_TASK_IO_ACCOUNTING depende dele.
BTW, não posso garantir que o pseudo arquivo seja legível por qualquer pessoa além do root e do proprietário do pid. Houve muita discussão há algum tempo sobre esse assunto, pode muito bem depender da versão do seu kernel.
Nota: A necessidade dessas opções pode ser deduzida da leitura do código /usr/src/linux/kernel/tsacct.c: