当前位置:首页 > Linux > 正文

Linux如何查看CPU使用率

Linux查看CPU使用率常用命令: top实时显示进程及整体CPU占用; htop交互式增强版更直观; mpstat提供多核详细统计; vmstat可查看系统资源综合状态,终端输入对应命令即可获取实时数据。

在Linux系统中,监控CPU使用率是优化性能、排查故障的关键操作,以下是多种专业可靠的方法,适用于不同场景:


实时监控工具

top 命令

最常用的实时监控工具,按CPU使用率排序进程:

top
  • 关键指标
    • %Cpu(s):总体CPU使用率(us=用户态, sy=内核态, id=空闲)。
    • P 键:按CPU占用排序进程。
    • 1 键:展开多核CPU的每个核心状态。
    • 退出:按 q

htop 命令

增强版 top,支持颜色和鼠标操作(需安装):

sudo apt install htop  # Debian/Ubuntu
sudo yum install htop  # CentOS/RHEL
htop
  • 优势:直观展示多核CPU、树状进程视图,支持进程筛选。

一次性快照命令

mpstat

查看每个CPU核心的详细统计(由 sysstat 包提供):

Linux如何查看CPU使用率  第1张

sudo apt install sysstat  # 安装
mpstat -P ALL 1          # 每1秒刷新所有核心数据

输出示例:

%usr %nice %sys %iowait %irq %soft %steal %idle  
20.1  0.0   5.3   0.2    0.0   0.1    0.0    74.3

vmstat

查看系统整体资源状态:

vmstat 1 5  # 每秒1次,共5次
  • 关键列
    • r:等待运行的进程数(若持续>CPU核心数,表示过载)。
    • us, sy, id:用户态、内核态、空闲CPU百分比。

历史数据分析

sar 工具

记录并回溯历史CPU数据(需安装 sysstat):

sar -u 1 3    # 每1秒采样,共3次(实时)
sar -u        # 查看当天历史记录
  • 数据存储路径/var/log/sysstat/saXX(XX为日期)。
  • 生成报告:sar -u -f /var/log/sysstat/sa15(查看15号数据)。

图形化工具

GNOME 系统监视器

桌面环境适用:

  • 启动方式:应用菜单搜索 “System Monitor” → “Resources” 标签页。
  • 功能:实时图表展示CPU、内存、网络使用率。

nmon

高级终端监控工具:

sudo apt install nmon    # Debian/Ubuntu
nmon
  • c:显示CPU使用率;按 m:显示内存;按 q 退出。

文件解析法

通过 /proc/stat 文件计算CPU使用率:

cat /proc/stat | grep '^cpu '

输出示例:

cpu  1000 200 300 4000 0 50 0 0
  • 计算逻辑
    • 总时间 = 所有字段之和(单位:jiffies,即时钟滴答)。
    • 使用率 = 100% × (总时间 – 空闲时间) / 总时间。

      适合脚本开发,但需两次采样间隔计算差值(推荐用工具避免手动计算)。


高级场景推荐

  • 快速检查top -n 1 -b | head -5(非交互式输出)。
  • 容器环境docker statskubectl top pods
  • 长期监控:配置 sysstat 定时任务(默认每10分钟记录一次)。
  • 可视化:集成 Prometheus + Grafana 实现企业级监控。

总结建议

  • 日常运维:首选 tophtop
  • 脚本开发:解析 /proc/stat 或使用 mpstat
  • 历史分析:依赖 sar 日志。
  • 桌面用户:使用GNOME系统监视器。

引用说明基于Linux内核文档(kernel.org)、sysstat官方手册(github.com/sysstat/sysstat)及Ubuntu/CentOS官方指南,命令测试环境为Linux Kernel 5.4+。

0