我开始使用 Linux 操作系统已经有一段时间了,所以我是个初学者。我想以给定的时间间隔将给定进程的总 CPU 收集到一个文件中。因此,我使用了sar
实用程序。
cpx@cpx-VirtualBox:~$ sar -u 1 4
Linux 4.4.0-142-generic (cpx-VirtualBox) 07/15/2019 _x86_64_ (1 CPU)
10:28:25 PM CPU %user %nice %system %iowait %steal %idle
10:28:26 PM all 7.22 0.00 2.06 0.00 0.00 90.72
10:28:27 PM all 10.10 0.00 3.03 0.00 0.00 86.87
10:28:28 PM all 7.14 0.00 2.04 0.00 0.00 90.82
10:28:29 PM all 7.00 0.00 2.00 0.00 0.00 91.00
在 Windows 中,任务管理器在图表中显示总体 CPU 使用率以及用户和内核使用率。因此,我不知道其他参数,而在 Linux 中,似乎没有简单的方法可以查看总 CPU 数。
那么,这里的总 CPU 是多少?我应该只做:100 - idle% value
获取总 CPU 使用率吗?或者,它只是 %user + %system 即用户时间 + 内核时间?
答案1
您需要 %user + %nice + %system 来获得总 CPU 数。
如果 %user 接近 100%,则可能是因为您运行了“sar”;保持相对较长的间隔。
- %iowait 是处理器等待的时间但它仅适用于单个 CPU对于多核来说毫无用处。
- %steal 是虚拟 CPU 等待真实 CPU 的时间百分比