Linux如何查看CPU使用率

在Linux中查看CPU使用率,常用命令包括:,- tophtop:实时监控CPU及进程动态(htop需安装),- mpstat:显示每个CPU核心详细统计,- vmstat:报告整体CPU使用情况,- sar:查看历史与实时数据,- 直接读取 /proc/stat 文件获取原始信息

在Linux系统中,监控CPU使用率是优化性能、排查故障的关键操作,以下是多种专业方法,结合命令详解与场景建议:

Linux如何查看CPU使用率


核心命令工具

top 命令(实时动态视图)

top
  • 操作说明
    • 默认按CPU使用率降序排序,按 P 键锁定CPU排序。
    • 关键指标:
      • %Cpu(s):总体CPU使用率。
        • us:用户空间程序占用
        • sy:内核空间占用
        • id:空闲比例
        • wa:I/O等待耗时
    • 退出按 q
  • 适用场景:实时监控进程级资源占用。

htop 命令(增强版交互式监控)

htop  # 若未安装,执行 sudo apt install htop(Debian/Ubuntu)或 sudo yum install htop(RHEL/CentOS)
  • 优势
    • 彩色界面,支持鼠标操作。
    • 直观展示多核CPU使用(每核单独显示)。
    • 可按列排序、进程树视图(按 F5)。
  • 适用场景:替代 top,需更友好交互时。

vmstat 命令(系统整体状态统计)

vmstat 1 5  # 每秒采样1次,共5次
  • 输出解读
    • r:等待运行的进程数(判断CPU负载)。
    • us, sy, id, wa:同 top 的CPU分类占比。
  • 适用场景:快速检查CPU、内存、I/O综合瓶颈。

mpstat 命令(多核CPU详细报告)

mpstat -P ALL 1  # 监控所有核心,每秒刷新
  • 输出示例
    08:30:01 CPU %usr %nice %sys %iowait %irq %soft %steal %idle  
    08:30:02 all 15.2 0.0 2.1 0.3 0.0 0.1 0.0 82.3  
    08:30:02 0   18.1 0.0 3.0 0.2 ...  # 核心0单独数据  
  • 关键参数
    • -P ALL:显示每个核心的独立数据。
    • %idle > 20% 通常表示CPU资源充足。
  • 适用场景:分析多核CPU负载均衡问题。

sar 命令(历史与实时监控)

sar -u 1 3     # 查看实时CPU(每秒1次,共3次)
sar -u         # 查看当天历史记录
  • 安装
    sudo apt install sysstat  # Debian/Ubuntu
    sudo yum install sysstat  # RHEL/CentOS
  • 数据存储:历史日志位于 /var/log/sa/saXX(XX为日期)。
  • 适用场景:长期趋势分析,故障回溯。

/proc/stat 文件(原始数据源)

cat /proc/stat
  • 输出解析
    cpu  1000 200 500 3000 50 0 20 0 0 0  
    cpu0 500 100 200 1500 ...  # 核心0数据  
    • 数值单位:jiffies(系统时钟滴答次数)。
    • 计算CPU使用率公式:
      total = user + nice + system + idle + iowait + irq + softirq  
      usage = (total - idle) / total * 100%  
  • 适用场景:开发自定义监控脚本。

关键注意事项

  1. 多核CPU统计
    • top/htop 默认显示总和,需观察单核是否过载(如 htop 分核显示)。
    • 使用 mpstat -P ALLlscpu 查看核心数。
  2. 瞬时值 vs 平均值
    • top/htop 反映实时状态。
    • sar 适合计算时间段内平均值(如 sar -u 10 6 统计10分钟平均)。
  3. I/O等待 (%wa)
    • %wa 持续 > 5%,表明磁盘I/O成为瓶颈(即使CPU空闲)。
  4. 容器环境
    • 在Docker/Kubernetes中,推荐 cadvisorkubectl top pods 获取容器级CPU数据。

方法对比与选择建议

命令 实时性 多核支持 历史数据 易读性
top
htop
vmstat
mpstat
sar
/proc/stat ☆(需计算)
  • 推荐场景
    • 快速诊断:htop(直观)或 vmstat(综合指标)。
    • 深度分析:mpstat(多核详情) + sar(历史对比)。
    • 自动化监控:脚本读取 /proc/stat 或集成Prometheus+Grafana。

参考来源

Linux如何查看CPU使用率

  • Linux man pages (man top, man vmstat, man mpstat)
  • Sysstat工具文档 (https://github.com/sysstat/sysstat)
  • 《Linux性能优化实战》(倪朋飞,极客时间)

数据安全提示:生产环境中避免频繁高精度采样(如 vmstat 0.1),可能加剧负载。
定期监控CPU使用率,是保障系统稳定性的基石——预防胜于修复。

Linux如何查看CPU使用率

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/11997.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月4日 05:45
下一篇 2025年6月4日 05:49

相关推荐

  • 如何关闭linux 端口6003

    关闭Linux端口6003,可先通过sudo netstat -tlnp | grep 6003或sudo ss -tlnp | grep 6003查找对应进程PID,再执行sudo kill PID终止进程;也可用防火墙工具如iptables -A INPUT -p tcp –dport 6003 -j DROP或sudo firewall-cmd –zone=public –remove-port=6003/tcp –permanent并重载配置

    2025年8月5日
    800
  • Linux命令如何查询进程组ID

    在Linux中查看进程组信息,主要使用ps命令:,1. 使用 ps -ejH 以树状结构显示进程层级,包含进程组ID(PGID)。,2. 使用 ps -o pid,pgid,cmd 直接列出进程ID、组ID及命令,清晰查看分组关系。

    2025年6月26日
    200
  • 如何引导linux iso

    启动U盘,BIOS设USB优先启动;或网络PXE引导,配置DHCP/TFTP服务指向ISO路径

    2025年8月2日
    500
  • Linux怎么用vim?快速掌握指南

    在Linux终端输入vim 文件名启动vim,按i进入编辑模式编写内容,按ESC退回普通模式,输入:wq保存退出,:q!强制放弃修改退出。

    2025年6月2日
    600
  • Linux启动WebSphere步骤指南

    在Linux中启动WebSphere,进入安装目录/bin,执行启动命令./startServer.sh server1,启动后可通过管理控制台或日志验证状态。

    2025年5月30日
    700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN