![Linux 中是否存在状态 jiffies 的内核计数器?](https://linux22.com/image/31302/Linux%20%E4%B8%AD%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%E7%8A%B6%E6%80%81%20jiffies%20%E7%9A%84%E5%86%85%E6%A0%B8%E8%AE%A1%E6%95%B0%E5%99%A8%EF%BC%9F.png)
我正在寻找有关守护进程状态的时间/jiffie 统计数据。我所指的州在Linux 内核过程文件系统文档。运行、睡眠、不间断睡眠、僵尸、追踪/停止。
表 1-4 提到了用户、内核、带子级的用户和带子级的内核的 jiffie 时间计数器,但没有提到状态中的 jiffie。
是否有标准计数器可以跟踪在这些状态中花费的时间?
例子:
其中/proc/[pid]/stat
有以 jiffies 为单位测量的用户 ( utime
)、内核 ( stime
) 和 guest ( gtime
) 计数器。
进程计数器是否存在用于记录以下状态所花费的时间:[ R
]unning、[ S
]leeping、[ D
]eep sleep in an uninterruptible wait、[ Z
]ombie、[ T
]raced 或 Stopped(以 jiffies 为单位)?
答案1
进一步了解我的问题后,我想我可以回答我的问题。
[ R
]unning 状态被跟踪为用户模式(乌泰姆)和内核模式(时间)因为它需要循环。睡眠/空闲时间可以(有点start_time
) 的计算方法是从重新启动后进程启动的时间中减去计算出的运行时间(以 jiffies 为单位) 。假设时钟频率是动态缩放的,这并不是那么可靠。
Jiffies 是一个非绝对时间单位(滴答),取决于时钟中断频率。 jiffy 是花费的时间正在做某物。
我找不到进程进入非运行状态或状态更改为所述非运行状态的时间的任何计数器或纪元日期参考。