HTOP 的非交互式版本?

HTOP 的非交互式版本?

我想定期获取每个核心利用率的快照以保存到文件中,基本上与 htop 相同的信息。但是,htop 是交互式的,因此对脚本不太友好,还有其他获取此信息的方法吗?

答案1

我们的姊妹网站讨论了许多选择在 shell 脚本中获取每个核心的 CPU 负载

也许最合适的mpstat

$ mpstat -u -P ALL 1 1
Linux 4.15.0-23-generic (t400s)     2018-07-26  _x86_64_    (2 CPU)

12:40:13 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
12:40:14 PM  all    3.50    0.00    1.50    0.50    0.00    0.00    0.00    0.00    0.00   94.50
12:40:14 PM    0    5.00    0.00    1.00    1.00    0.00    0.00    0.00    0.00    0.00   93.00
12:40:14 PM    1    2.02    0.00    1.01    1.01    0.00    0.00    0.00    0.00    0.00   95.96

Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    3.50    0.00    1.50    0.50    0.00    0.00    0.00    0.00    0.00   94.50
Average:       0    5.00    0.00    1.00    1.00    0.00    0.00    0.00    0.00    0.00   93.00
Average:       1    2.02    0.00    1.01    1.01    0.00    0.00    0.00    0.00    0.00   95.96

htop由于以下所述原因,直接从中获取信息并不容易:htop 输出到人类可读的文件

答案2

dstat你可以通过以下方式轻松获得每个核心的利用率

dstat --noupdate --output cpustats.csv -c -C 0,1,2,3 60

--noupdate 当指定的延迟 > 1 时禁用中间更新,就像在这种情况下一样。

- 输出CPU 统计信息.csv将结果输出到以逗号分隔的值文件,该文件的名称可供您导入 calc 或您最喜欢的电子表格程序。将其留在屏幕上输出,如下所示。

-c 仅选择 CPU 输出

-C 0,1,2,3 报告核心 0 至 3

末尾的 60 是读数之间的延迟秒数。

您可以自由调整这些参数(以及更多参数)以获得您想要的精确输出。

dstat 很容易安装启用 Universe 存储库如果你还没有使用命令sudo apt install dstat

示例输出:

-------cpu0-usage--------------cpu1-usage--------------cpu2-usage--------------cpu3-usage------
usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq:usr sys idl wai hiq siq
  3   1  95   0   0   0:  4   1  95   0   0   0:  3   1  95   1   0   0:  3   1  93   2   0   0
 74   3  21   2   0   0: 74   3  17   5   0   0: 72   4  11  12   0   1: 73   3  20   3   0   0

更多信息请访问man dstat

答案3

考虑sysstat(在正常的仓库中)

top根据请求提供类似信息。以下是使用部分的示例

12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:05:01 AM     all      0.87      0.00      0.84      0.17      0.00     98.12
12:15:01 AM     all      0.78      0.00      0.81      0.17      0.00     98.24
12:25:01 AM     all      0.77      0.00      0.81      0.19      0.00     98.22
12:35:01 AM     all      0.77      0.00      0.82      0.19      0.00     98.23
12:45:01 AM     all      1.99      0.35      0.97      0.27      0.00     96.41
12:55:01 AM     all      0.78      0.00      0.79      0.16      0.00     98.27

它还记录内存使用情况和通过接口的流量。

它可以相当灵活地配置以满足您的需求。

写得好这里

相关内容