Estou escrevendo um script e preciso encontrar um arquivo no qual as estatísticas para iowait de um único processo/pid/serviço sejam armazenadas. Existe algum arquivo desse tipo em distribuições baseadas no Debian ?
Nem /proc/<pid>/stat
, nem /proc/<pid>/io
tem estatísticas para iowait , de acordo com as páginas man. Estou ciente de que posso analisar a saída de outras ferramentas como iotop , sar e etc., no entanto, analisar stdout de comandos externos é um problema de desempenho que devo evitar.
Nota : Estou ciente /proc/stat
e do significado de seu conteúdo. Eu preciso do iowait stat para um único processo , não para toda a CPU ou um núcleo.
Teoricamente você pode obter
iowait
por processo de/proc/[pid]/stat
, já que do bloco correspondente do PROC(5) lemos:Não faço ideia do que isso
delayacct_blkio_ticks
significa na prática. De qualquer forma, o únicoman proc
será útil para você.Existe uma pergunta relacionada, verifique: Medindo atrasos de E/S de bloco usando proc FS
Além disso, preste atenção às notas no bloco
/proc/stat
por CPU :iowait
Você pode obter
iowait
dados por CPU de/proc/stat
. No meu Ubuntu 18.04 no/proc/stat
existe a parte:A quinta coluna além da
cpu
coluna s éiowait
valor no meu caso particular . O número de colunas e seu significado podem variar dependendo do kernel em uso.Para obter o significado exato de cada coluna, você deve consultar sua documentação. No Ubuntu instale o
linux-doc
pacote primeiro:e veja
man proc
:Há parte com
/proc/stat
explicação exata para cada coluna.Leia adicionalmente Como ler o arquivo Linux /proc/stat para saber como calcular valores.
No CentOS é necessário instalar o
kernel-doc
pacote:então leia o arquivo: