cip*_*cus 5 cpu memory top conky cpu-usage
当我的笔记本电脑在较重的处理过程中暂时变慢时,我预计会看到比我在桌面和系统监视器上的 conky 进程面板中实际看到的数字更高的数字(用于 CPU 使用)。
top
在终端中使用时,我看到数字证明计算机暂时缓慢是合理的。例如,当 Firefox 运行一些使用相对较高 CPU 资源(显示为“Web 内容”)的插件时,conky 脚本(就像 Gnome 系统监视器)显示使用的 CPU 资源约为 25%,而显示约为top
71%,这考虑到 PC 确实变慢了,这一点似乎更加“真实”。
我怎样才能在我使用的 conky 中获得那些“真实”数字?为什么top
与它和系统监视器不同?
conky 脚本中重要的部分是:
${top name 1} $alignr ${top cpu 1}%
${top name 2} $alignr ${top cpu 2}%
${top name 3} $alignr ${top cpu 3}%
Run Code Online (Sandbox Code Playgroud)
ETC。
这是因为top
该值显示为单个 CPU 核心的百分比,而 则conky
显示总可用 CPU 功率的百分比。如果您运行top
并按下,I您应该会看到相同(几乎相同,总是存在竞争条件:top
轮询 CPU 的时间与实际执行的时间不完全相同conky
)的数字。
这记录在man top
(强调我的):
%CPU——CPU使用率
自上次屏幕更新以来任务所用 CPU 时间的份额,以总 CPU 时间的百分比表示。
在真正的 SMP 环境中,如果进程是多线程的并且 top 未在线程模式下运行,则可能会报告大于 100% 的数量。您可以使用“H”交互命令切换线程模式。
此外,对于多处理器环境,如果 Irix 模式关闭,top 将在 Solaris 模式下运行,其中任务的 cpu 使用率将除以 CPU 总数。您可以使用“I”交互命令切换 Irix/Solaris 模式。
因此,您在示例中看到的是处于top
Irix 模式,并将 %CPU 值报告为单个 CPU 的百分比,而将conky
其报告为所有可用 CPU 的百分比。
而且,只是为了说明,这就是top
我的 8 核笔记本电脑上运行时的 Irix 模式pigz
,可以使用多个线程:
PID USER PR NI VIRT RES %CPU %MEM TIME+ S COMMAND
1090509 terdon 20 0 657.6m 4.5m 605.3 0.0 0:33.18 R pigz
Run Code Online (Sandbox Code Playgroud)
看看 %CPU 远高于 100 吗?现在,Solaris 模式下的相同内容显示:
PID USER PR NI VIRT RES %CPU %MEM TIME+ S COMMAND
1100171 terdon 20 0 657.6m 4.5m 82.0 0.0 1:24.08 S pigz
Run Code Online (Sandbox Code Playgroud)
由于我运行命令两次以获得输出,因此数字并不完全匹配,但您应该能够看到一般的想法。
归档时间: |
|
查看次数: |
1728 次 |
最近记录: |