了解 top 命令输出

了解 top 命令输出

下面是top命令输出的截图。

在此处输入图片描述

我想了解此 top 摘要视图中的内存和 CPU 信息。我有以下疑问:

  1. 第三行中的、等us数字sy是否是可用硬件 CPU 处理能力的百分比?(我相信情况很可能如此,因为我无法想象显示 % 的其他任何东西。)ni%Cpu(s)

    手册页说:

    第 2 行显示基于自上次刷新以来的间隔的 CPU 状态百分比。默认情况下,显示这些单独类别的百分比。

    所以,我相信这确实意味着“可用的硬件 CPU 处理能力总量的百分比”,对吗?

  2. 列中的值是什么%CPU?它是可用的硬件 CPU 处理能力的百分比,还是当前 CPU 利用率的百分比,即%Cpu(s)第三行中指定的百分比?(我感觉更晚,因为列中的值的总和%CPU大于ussyni值的总和(如果我没记错的话,这实际上有助于当前 CPU 利用率。)

    MAN 页面上显示:

    该任务自上次屏幕更新以来所占的 CPU 时间份额,以占总 CPU 时间的百分比表示。

    “总硬件 CPU 处理能力”或“当前 CPU 利用率”的份额并不清楚。

    MAN 页面上显示:

    任务当前使用的可用物理内存份额。

    仍然不清楚其份额是来自“可用 RAM 总量”还是“当前内存利用率”。

  3. 列中的值是什么%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 的百分比是没有意义的当前使用情况,因为这个指标会一直变化。因此当前使用情况没有任何实际价值。

相关内容