AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 501004
Accepted
Tim
Tim
Asked: 2019-02-16 23:39:59 +0800 CST2019-02-16 23:39:59 +0800 CST 2019-02-16 23:39:59 +0800 CST

如何一次获得 CPU 整体使用情况和单个核心使用情况信息?

  • 772

是否有一个命令可以以类似于free显示内存使用信息的静态方式(即仅一次)显示 CPU 使用信息(包括整体 cpu 和单个内核)?

当我们运行top时,点击后顶部的 cpu 信息1显示单个核心使用情况以及整体 cpu 使用情况可能是我想要的。但top 默认情况下会动态更新信息,并输出比我需要的更多信息(内存和每个进程信息)。

谢谢。

top cpu-usage
  • 2 2 个回答
  • 2851 Views

2 个回答

  • Voted
  1. Best Answer
    Rui F Ribeiro
    2019-02-17T01:56:02+08:002019-02-17T01:56:02+08:00

    有一个命令可以动态显示与处理器相关的运行时统计信息,称为 mpstat. 在大多数发行版中,它是sysstat软件包的一部分。

    虽然它的输出可以更直接地回答您的问题mpstat -P ALL -I CPU,但我更喜欢 的输出mpstat -P ALL,它更易于理解。

    例如,具有 40 个 CPU 的机器的输出:

    Linux 3.0.101-63-default    02/16/19    _x86_64_
    
    09:52:11     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
    09:52:11     all    0.04    0.00    0.04    0.02    0.00    0.00    0.00    0.00   99.90
    09:52:11       0    0.13    0.00    0.13    0.57    0.00    0.00    0.00    0.00   99.16
    09:52:11       1    0.24    0.00    0.49    0.07    0.00    0.00    0.00    0.00   99.21
    09:52:11       2    0.04    0.00    0.03    0.00    0.00    0.00    0.00    0.00   99.94
    09:52:11       3    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.95
    09:52:11       4    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.97
    09:52:11       5    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11       6    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11       7    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.97
    09:52:11       8    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11       9    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11      10    0.12    0.00    0.10    0.19    0.00    0.00    0.00    0.00   99.59
    09:52:11      11    0.09    0.00    0.06    0.01    0.00    0.00    0.00    0.00   99.84
    09:52:11      12    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.94
    09:52:11      13    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.94
    09:52:11      14    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.95
    09:52:11      15    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.95
    09:52:11      16    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.95
    09:52:11      17    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.95
    09:52:11      18    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      19    0.03    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.95
    09:52:11      20    0.06    0.00    0.06    0.01    0.00    0.00    0.00    0.00   99.87
    09:52:11      21    0.19    0.00    0.27    0.01    0.00    0.00    0.00    0.00   99.54
    09:52:11      22    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.97
    09:52:11      23    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      24    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.97
    09:52:11      25    0.02    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.97
    09:52:11      26    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11      27    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11      28    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11      29    0.01    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.98
    09:52:11      30    0.04    0.00    0.04    0.00    0.00    0.00    0.00    0.00   99.92
    09:52:11      31    0.03    0.00    0.03    0.00    0.00    0.00    0.00    0.00   99.94
    09:52:11      32    0.02    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      33    0.02    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      34    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      35    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      36    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      37    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      38    0.02    0.00    0.02    0.00    0.00    0.00    0.00    0.00   99.96
    09:52:11      39    0.03    0.00    0.01    0.00    0.00    0.00    0.00    0.00   99.96
    

    从man mpstat

    mpstat 命令为每个可用处理器写入标准输出活动,处理器 0 是第一个。还报告了所有处理器之间的全球平均活动。mpstat 命令可以在 SMP 和 UP 机器上使用,但在后者中,只会打印全局平均活动。如果未选择任何活动,则默认报告是 CPU 利用率报告。

    如果你对这个话题感兴趣,我推荐这本书:

    系统性能:企业和云,Brendan Gregg

    PS 虽然mpstat在短期内非常有用,但sar也与sysstat.

    推论:不要cron使用mpstat,使用sar。

    • 4
  2. user1133275
    2019-02-17T00:35:09+08:002019-02-17T00:35:09+08:00
    top -bn 1
    

    设置好顶级 rc 后;

    top
    1
    W
    q
    

    grep 你想要的

    top -bn 1 | grep -P "^(%|top)"
    

    对于像这样的输出

    top - 11:40:33 up 24 days, 32 min,  1 user,  load average: 0.00, 0.00, 0.00
     %Cpu0  :  0.0 us,  1.2 sy,  0.0 ni, 98.1 id,  0.1 wa,  0.3 hi,  0.2 si,  0.0 st
     %Cpu1  :  0.0 us,  0.9 sy,  0.0 ni, 98.9 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
     %Cpu2  :  0.0 us,  0.8 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
     %Cpu3  :  0.0 us,  0.8 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
     %Cpu4  :  2.0 us,  2.0 sy,  0.2 ni, 93.0 id,  2.3 wa,  0.2 hi,  0.3 si,  0.0 st
     %Cpu5  :  0.9 us,  3.0 sy,  0.1 ni, 94.8 id,  0.8 wa,  0.3 hi,  0.1 si,  0.0 st
     %Cpu6  :  0.2 us,  2.6 sy,  0.0 ni, 96.4 id,  0.4 wa,  0.2 hi,  0.1 si,  0.0 st
     %Cpu7  :  0.1 us,  1.0 sy,  0.1 ni, 98.4 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
    
    • 2

相关问题

  • top命令中swap部分的含义

  • 如何获取 Linux 上等待 CPU 的进程数?

  • 不同top的CPU模式如何相互对应?

  • 为什么“top”命令输出中列出的总任务不等于运行+睡眠?

  • 清除`top`中添加的过滤器

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve