![多核处理器上的 top 命令](https://linux22.com/image/40416/%E5%A4%9A%E6%A0%B8%E5%A4%84%E7%90%86%E5%99%A8%E4%B8%8A%E7%9A%84%20top%20%E5%91%BD%E4%BB%A4.png)
我使用的是飞思卡尔 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
)