多核处理器上的 top 命令

多核处理器上的 top 命令

我使用的是飞思卡尔 IMX6 四核处理器。我想知道该top命令是否列出了所有 4 个核心或单个核心的 CPU 使用率。我发现应用程序的 CPU 使用率在 4 核和单核时是相同的。我猜测应用程序的 CPU 使用率在单核上会增加,在 4 核上会减少,但它没有改变。

答案1

我不完全确定你在这里问什么。是的,top默认显示 CPU 使用率占单个 CPU 的百分比。这就是为什么百分比可以>100。在 4 核系统上,您可以看到高达 400% 的 CPU 使用率。

您可以在运行时按I(即Shift+i并切换“Irix 模式”)来更改此行为。top这将使其显示正在使用的可用 CPU 功率的百分比。正如中所解释的man top

    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.   In  a
       true  SMP environment, if 'Irix mode' is Off, top will operate
       in 'Solaris mode' where a task's cpu usage will be divided  by
       the  total  number  of  CPUs.  You toggle 'Irix/Solaris' modes
       with the 'I' interactive command.

或者,您可以按1它将显示每个 CPU 的 CPU 使用情况的详细信息:

top - 13:12:58 up 21:11, 17 users,  load average: 0.69, 0.50, 0.43
Tasks: 248 total,   3 running, 244 sleeping,   0 stopped,   1 zombie
%Cpu0  : 33.3 us, 33.3 sy,  0.0 ni, 33.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  : 16.7 us,  0.0 sy,  0.0 ni, 83.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 60.0 us,  0.0 sy,  0.0 ni, 40.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8186416 total,  6267232 used,  1919184 free,   298832 buffers
KiB Swap:  8191996 total,        0 used,  8191996 free,  2833308 cached

答案2

如果您想top立即打开显示单独的 CPU 而无需按1,您可以使用该-1选项。

例如:

top -1

...
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 44.7 us, 55.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  : 46.7 us, 53.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
...     

注意:这适用于 Debian,但安装的 top 变体可能因发行版而异。

答案3

如果您希望top命令在每次运行时显示每个 CPU 使用情况top

  • 运行top命令
  • 1,这将显示每个 CPU 使用情况
  • 键入W并按Enter将配置保存到文件
  • 下次运行时top将显示每个 CPU 使用情况。
  • 这样我们就可以根据我们的自定义要求配置 top

(以上步骤适用于顶级版本procps-ng 3.3.12

相关内容