‘top’ 输出中的单个 CPU 百分比

‘top’ 输出中的单个 CPU 百分比

通常,为了查看单个 CPU 百分比,我们在 top 的交互模式下按“1”。

但是我无法弄清楚在批处理模式下获取相同输出的逻辑,即

top -n1b

我要将此输出重定向到一个文件以便稍后查看,所以我需要批处理模式。可以吗?为此安装单独的工具是不可能的。

我正在寻找我缺少的选项或某种方法来捕获输出。

答案1

在交互式 top 中,通过键入 切换到单个 CPU % 1,然后通过键入 将当前配置写入文件W。这将创建~/.toprc。现在,top -n1b还将输出每个 CPU 的百分比。.toprc如果您的脚本以其他用户身份运行,您可能需要复制文件并更改权限。

答案2

一定要用 top 吗?也许你需要 mpstat

  mpstat -A

答案3

这有点像 hack,但似乎有效:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%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  :  0.0 us,  0.0 sy,  0.0 ni,100.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
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

答案4

您可以使用 atop。它是一款非常全面的监视器,您可以监视进程以及内存和 CPU 等系统资源。它为每个 CPU 核心提供单独的输出。

对于 ubuntu 系统,它作为 repo 中的包提供,因此您可以直接通过 apt-get/synaptic 安装它。

对于 Redhat 及其派生系统,您可以在这里找到软件包: http://dag.wieers.com/rpm/packages/atop/

相关内容