我正在编写一个脚本,我需要找到一个文件,其中存储了单个进程/pid/服务的 iowait 的统计信息。在基于Debian 的发行版上是否有任何这样的文件?
根据手册页,也/proc/<pid>/stat
没有iowait/proc/<pid>/io
的任何统计信息。我知道我可以解析其他工具(如iotop、sar等)的输出,但是,解析外部命令的标准输出是我必须避免的性能问题。
注意:我知道/proc/stat
它的内容及其含义。我需要单个进程的iowait stat ,而不是整个 CPU 或内核。
理论上,您可以从 中获取
iowait
每个进程,因为我们从PROC(5)/proc/[pid]/stat
的相应块中读取:我不知道这
delayacct_blkio_ticks
实际上意味着什么。无论如何,只有man proc
对你有用。有相关的问题,检查一下:使用proc FS测量块I/O延迟
此外,请注意
/proc/stat
每个 CPUiowait
块中的注释:您可以从
iowait
每个 CPU 获取数据/proc/stat
。在我的 Ubuntu 18.04 中/proc/stat
有这样的部分:在我的特殊情况下,
cpu
除了s列之外的第五列是iowait
值。列数及其含义可能因您使用的内核而异。要获得每一列的确切含义,您必须查看您的文档。首先在 Ubuntu 安装
linux-doc
包中:看看
man proc
:每列都有准确
/proc/stat
解释的部分。额外阅读如何阅读 Linux /proc/stat 文件以了解如何计算值。
在 CentOS 中需要安装
kernel-doc
软件包:然后读取文件: