下面是top命令输出的截图。
我想了解此 top 摘要视图中的内存和 CPU 信息。我有以下疑问:
第三行中的、等
us
数字sy
是否是可用硬件 CPU 处理能力的百分比?(我相信情况很可能如此,因为我无法想象显示 % 的其他任何东西。)ni
%Cpu(s)
手册页说:
第 2 行显示基于自上次刷新以来的间隔的 CPU 状态百分比。默认情况下,显示这些单独类别的百分比。
所以,我相信这确实意味着“可用的硬件 CPU 处理能力总量的百分比”,对吗?
列中的值是什么
%CPU
?它是可用的硬件 CPU 处理能力的百分比,还是当前 CPU 利用率的百分比,即%Cpu(s)
第三行中指定的百分比?(我感觉更晚,因为列中的值的总和%CPU
大于us
、sy
和ni
值的总和(如果我没记错的话,这实际上有助于当前 CPU 利用率。)MAN 页面上显示:
该任务自上次屏幕更新以来所占的 CPU 时间份额,以占总 CPU 时间的百分比表示。
“总硬件 CPU 处理能力”或“当前 CPU 利用率”的份额并不清楚。
MAN 页面上显示:
任务当前使用的可用物理内存份额。
仍然不清楚其份额是来自“可用 RAM 总量”还是“当前内存利用率”。
列中的值是什么
%MEM
?它是(硬件)RAM 大小的百分比还是当前 RAM 利用率的百分比?
答案1
您混淆了定义明确的术语。让我们分解一下:
As a default, percentages for these individual categories are displayed. Where two labels are shown below, those for more recent kernel versions are shown first. us, user : time running un-niced user processes sy, system : time running kernel processes ni, nice : time running niced user processes id, idle : time spent in the kernel idle handler wa, IO-wait : time waiting for I/O completion
是的,这是总可用 CPU 量 - 另请参见下文。
1. %CPU -- CPU Usage The task's share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time.
让我们看看CPU 时间方法:
CPU 时间(或处理时间)是中央处理单元 (CPU) 用于处理指令的时间量... 通常,将 CPU 时间作为 CPU 容量的百分比来测量很有用,这称为 CPU 使用率。CPU 时间和 CPU 使用率有两个主要用途。
我确实同意这种措辞有点奇怪,但我必须假设“总 CPU 时间”是全部,包括空闲时间。因此,我只能将其理解为每个任务的 CPU 时间占总 CPU 时间的百分比 - 即任务在总可用 CPU 中所占的 CPU 资源份额。
2. %MEM -- Memory Usage (RES) A task's currently used share of available physical memory.
只有一种方法可以理解这一点。“可用物理内存份额”当然就是总可用 RAM 的百分比。
总的来说,输出 CPU 和 RAM 的百分比是没有意义的当前使用情况,因为这个指标会一直变化。因此当前使用情况没有任何实际价值。