单核Linux系统下CPU使用率怎么计算?
Cpu(s): 28.1%us, 6.5%sy, 0.0%ni, 43.0%id, 21.6%wa, 0.0%hi, 0.5%si, 0.2%st
请解释如何获得us
、sy
、ni
、id
、wa
和hi
值。si
st
答案1
CPU 使用率由内核计算和跟踪。其中涉及的具体方法和过程远远超出了本网站 (ServerFault) 的范围。
如果你想知道这些值代表什么,我从 IBM 的网站上提取了这份很好的列表,不过完整的文章也值得一读:
- us — 在用户空间中花费的 CPU 时间百分比。
- sy — 在内核空间中花费的 CPU 时间百分比。
- ni — 在低优先级进程上花费的 CPU 时间百分比。
- id——CPU 空闲时间百分比。
- wa - 等待(磁盘上)的 CPU 时间百分比。
- hi — 处理硬件中断所花费的 CPU 时间百分比。
- si — 处理软件中断所花费的 CPU 时间百分比。
(从IBM...为什么它只嵌入在 Java SDK 指南中我无法理解)
top
从 /proc 目录获取信息,该目录是用于查询内核以获取进程统计信息等的特殊目录。man proc
可以为您提供有关如何设置 /proc 的更多信息。
答案2
/proc/[pid]/stat 结果由 Linux 内核中的此代码生成。
http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/fs/proc/stat.c
您可以点击其中的各个部分并从中获取更多信息。
答案3
这篇文章对此进行了清晰的描述。