在 Linux 中如何获取自重启以来的当前 jiffies 数量?

Jé *_*eue 8 linux kernel

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 计数器。

Dar*_*all 4

从技术上讲,用计算机术语来说,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这个文件来打印统计信息。

  • 要开始收集统计信息“echo 1 > /proc/timer_stats”,您可以将其放在初始化周期的开始处。 (2认同)