Linux分别显示每个多个SMP CPU处理器利用率

时间:2020-01-09 10:41:49  来源:igfitidea点击:

问题:我的AMD服务器是具有SMP内核的四核处理器,如何显示每个CPU的利用率?

答:Linux可以使用mpstat命令分别显示每个SMP CPU处理器的利用率。

mpstat命令显示每个可用处理器的输出活动,处理器0是第一个。
还报告了所有处理器之间的全球平均活动。

mpstat命令可以在SMP和UP计算机上使用,但是在后者中,仅打印全局平均活动。

# mpstat -P ALL.

-P cpu | ALL选项指示要报告其统计信息的处理器编号。 cpu是处理器编号。请注意,处理器0是第一个处理器。 ALL关键字指示要报告所有处理器的统计信息。

输出:

Linux 2.6.9-55.ELsmp (server.xyz.com)     06/11/2007

04:13:29 PM  CPU   %user   %nice %system %iowait    %irq   %soft   %idle    intr/s
04:13:29 PM  all    5.63    0.01    2.33    0.85    0.01    0.10   91.06   2255.03
04:13:29 PM    0    5.74    0.00    2.17    0.88    0.01    0.15   91.05   1170.16
04:13:29 PM    1    5.53    0.01    2.49    0.83    0.01    0.06   91.07   1084.87

关于mpstat的输出

mpstat命令生成的报告具有以下格式:

  • CPU:处理器编号。关键字all表示统计信息是所有处理器之间的平均值。
  • %user:显示在用户级别(应用程序)执行时发生的CPU利用率百分比。
  • %nice:以优先级显示在用户级别执行时发生的CPU利用率百分比。
  • %system:显示在系统级别(内核)执行时发生的CPU利用率百分比。请注意,这不包括服务中断或者softirq所花费的时间。
  • %iowait:显示在系统有未完成的磁盘I/O请求期间,一个或者多个CPU空闲的时间百分比。
  • %irq:显示一个或者多个CPU服务中断所花费的时间百分比。
  • %soft:显示一个或者多个CPU用来服务softirq的时间百分比。 softirq(软件中断)是最多32个枚举的软件中断之一,可以一次在多个CPU上运行。
  • %idle:显示一个或者多个CPU空闲且系统没有未完成的磁盘I/O请求的时间百分比。
  • intr/s:显示一个或者多个CPU每秒接收的中断总数。

以两秒为间隔显示所有处理器之间的五个全局统计报告,执行:

# mpstat 2 5

以两秒为间隔显示所有处理器的五个统计报告,执行:

# mpstat -P ALL 2 5