Linux mpstat 命令- 报告处理器的相关统计信息
创始人
2024-03-01 11:59:54
0

现在的计算机一般都使用着多处理器或四核单处理器。在服务器端,更多的处理器或核心意味着更强的能力,但另一方面,应用程序也需要更高的能耗。你还可能遇到过这样的场景:当你的cpu利用率很高时你却感觉自己根本没有运行任何程序。以上种种情况,在Linux系统上,你可以使用 mpstate 来监控这样的活动。

什么是mpstat

mpstat 用于监控你的系统上cpu的利用率。如果你的系统有多个处理器,它会发挥更大的作用。 第一个处理器会被标记为CPU 0。第二个会被标记为CPU 2,以此类推。在操作手册中,如下描述mpstat:

mpstat命令把每个可用的处理器的状态写到标准输出,默认第一个处理器为processor 0。所有处理器的全局平均状态也会以报告形式给出。mpstat命令可以用于SMP和UP的机器上,但是在UP机器上,只有全局平均状态会被打印出来。如果没有选择具体行为,默认将报告CPU的利用率

如何运行mpstat

只需在你的终端输入 mpstat 就可以运行mpstat.

$ mpstat

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:29:29 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:29:29 PM all 6.30 0.06 1.94 3.75 0.00 0.06 0.00 0.00 87.88

如果你发现譬如 命令找不到或者类似的错误,说明你可能没有安装mpstat。

如果你使用的是 CentOS, RedHat or Fedora,运行下列命令来安装mpstat

# yum install sysstat

如果你使用的是 Debian, Ubuntu or 它的衍生版, 运行下列命令来安装mpstat

# apt-get install sysstat

下面是如何理解上面显示出来的信息。

  • 03:29:29 PM : 指mpstat运行的时间
  • all : 指所有CPU
  • %usr : 显示在用户级别(例如应用程序)执行时CPU利用率的百分比
  • %nice :显示在拥有nice优先级的用户级别执行时CPU利用率的百分比
  • %sys : 现实在系统级别(例如内核)执行时CPU利用率的百分比
  • %iowait : 显示在系统有未完成的磁盘I/O请求期间CPU空闲时间的百分比
  • %irq : 显示CPU服务硬件中断所花费时间的百分比
  • %soft : 显示CPU服务软件中断所花费时间的百分比
  • %steal : 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
  • %guest : 显示运行虚拟处理器时CPU花费时间的百分比
  • %idle : 显示CPU空闲和系统没有未完成的磁盘I/O请求情况下的时间百分比

打印每个处理器的CPU利用率

正如上面的命令结果所示,我们的系统有两个CPU。如果你愿意,你可以使用参数 -P 然后紧跟CPU编号得到指定CPU的利用率。

$ mpstat -P 0

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

$ mpstat -P 1
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:53:58 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:53:58 PM 1 16.52 0.20 4.48 0.46 0.00 0.04 0.00 0.00 78.30

打印所有CPU的利用率

你也可以在一页里打印每个处理器的CPU利用率,只需使用 -P ALL 参数来指定。

$ mpstat -P ALL

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:07:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:07:36 PM all 6.02 0.04 1.72 2.99 0.00 0.05 0.00 0.00 89.17
04:07:36 PM 0 3.84 0.01 1.15 3.72 0.00 0.06 0.00 0.00 91.21
04:07:36 PM 1 13.55 0.15 3.66 0.46 0.00 0.03 0.00 0.00 82.15

使用时间间隔打印CPU利用率

如果你想观察CPU的利用率变化,你可以使用时间间隔,下面是一个例子。

$ mpstat 3 4

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:27:11 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:27:14 PM all 0.67 0.00 0.34 0.00 0.00 0.00 0.00 0.00 98.99
04:27:17 PM all 1.17 0.00 0.33 1.33 0.00 0.00 0.00 0.00 97.17
04:27:20 PM all 0.84 0.00 0.17 0.00 0.00 0.00 0.00 0.00 98.99
04:27:23 PM all 1.00 0.00 0.17 1.51 0.00 0.00 0.00 0.00 97.32
Average: all 0.92 0.00 0.25 0.71 0.00 0.00 0.00 0.00 98.12

上面的命令会每隔3秒显示CPU利用的4个报告

打印mpstat的版本

最后,为了打印mpstat的版本,使用参数 -V

$ mpstat -V

sysstat version 10.0.3
(C) Sebastien Godard (sysstat orange.

这就是在linux系统上快速使用mpstat的方法。想要了解更多细节,可以输入 man mpstat来查看mpstat的手册。


via: http://linoxide.com/linux-command/linux-mpstat-command/

译者:KayGuoWhu 校对:Mr小眼儿

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

KernelScript ...
IT之家 5 月 26 日消息,科技媒体 Linuxiac 昨日(...
2026-05-26 14:39:31
Linux内核首个AI生成...
快科技5月11日消息,Linux内核迎来首个明确标注 AI 生成代...
2026-05-12 00:36:48
放弃Ubuntu吧!Deb...
过去几年,我看到不少读者在评论区、私信里吐槽Ubuntu:Snap...
2026-05-09 16:17:21
英特尔携手生态伙伴加速AI...
以“智存无界 芯联未来”为主题的英特尔AI NAS(智存宝)与Th...
2026-05-08 15:08:23
历经三年终于出货!高端Li...
快科技5月7日消息,英国Linux硬件初创公司Star Labs ...
2026-05-08 15:07:20
别只盯着Linux!90%...
当我们聊起“开源OS”,99%的人脑子里跳出Ubuntu、Arch...
2026-05-06 20:23:28

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...