Linux/proc/PID/stat
列出了几个以 jiffies 衡量的指标。有没有办法获得自重启以来的当前jiffies 数量?Jiffies 我还假设是 USER_HZ 值的秒数。
我可以通过对前4个参数相加得到这个cpu
排队/proc/stat
?
更新:
$ date +"%s.%N" && grep '^jiffies' timer_list
1262103103.162169230
jiffies: 1007865965
jiffies: 1007865965
jiffies: 1007865965
jiffies: 1007865965
$ date +"%s.%N" && grep '^jiffies' timer_list
1262103108.706475051
jiffies: 1007867351
jiffies: 1007867351
jiffies: 1007867351
jiffies: 1007867351
Run Code Online (Sandbox Code Playgroud)
这些之间的差值几乎正好是 250 jiffies / 秒。看起来好像每个 CPU 的所有 jiffies 行都是等效的(尽管我猜如果配置/替换了热 | 按需 CPU,它们可能不是)。我认为这给了我最好的地方来拉出一致的 jiffies 计数器。
从技术上讲,用计算机术语来说,jiffy 是系统计时器中断 1 个滴答的持续时间。但这并不是绝对的。对于 Intel x86 上的 Linux 2.6.13+,jiffy 为 4ms,但范围可以从 1ms 到 10ms,具体取决于体系结构和内核版本。
从内核定时器系统页面:
历史上,内核使用 100 作为 HZ 值,产生 10 毫秒的 jiffy 间隔。在 2.4 中,i386 的 HZ 值更改为 1000,产生 1 ms 的 jiffy 间隔。最近(2.6.13)内核将 i386 的 HZ 更改为 250。(1000 被认为太高)。
它列出了/proc/timer_list
和/proc/timer_stats
。
您可以在启动时激活timer_stats,然后cat这个文件来打印统计信息。