Linux如何高效监控CPU利用率?

Linux系统监控CPU利用率可通过top、htop、sar等命令行工具及/proc/stat等系统文件实现,适用于性能优化与故障排查等场景。

top 命令(实时动态视图)

  • 作用:实时显示进程及CPU占用。
  • 操作
    top
  • 解读
    • %Cpu(s) 行:us(用户进程)、sy(系统内核)、id(空闲)的百分比。
    • 1 键:展开多核CPU详情。
    • Shift + P:按CPU使用率排序进程。
  • 退出:按 q 键。

htop 命令(增强版 top

  • 安装(如未预装):
    sudo apt install htop  # Debian/Ubuntu
    sudo yum install htop  # CentOS/RHEL
  • 操作
    htop
  • 优势
    • 彩色界面,直观展示每核利用率。
    • 鼠标支持,可横向滚动查看完整命令。

vmstat 命令(系统资源概览)

  • 作用:报告进程、内存、CPU等整体状态。
  • 操作(每2秒刷新一次,共5次):
    vmstat 2 5
  • 关键列
    • r:等待运行的进程数(>CPU核心数表示过载)。
    • us/sy/id:同 top 中的用户、系统、空闲占比。

mpstat 命令(多核CPU监控)

  • 安装(属于 sysstat 包):
    sudo apt install sysstat  # Debian/Ubuntu
    sudo yum install sysstat  # CentOS/RHEL
  • 操作(每核详细统计):
    mpstat -P ALL 2  # 每2秒刷新,显示所有核心
  • 输出示例
    CPU   %usr  %nice  %sys  %iowait  %irq  %soft  %idle
    0     5.2   0.0    1.3    0.2     0.0   0.1    93.2
    1     8.1   0.0    2.0    0.1     0.0   0.2    89.6

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

  • 作用:直接读取内核提供的CPU时间数据。
  • 操作
    cat /proc/stat
  • 解读
    • 首行 cpu 所有核心总和,后续 cpu0cpu1 等为单核。
    • 列含义:usernicesystemidleiowaitirqsoftirq 的累计时钟周期数。
    • 计算利用率公式
      利用率 = (总时间 - 空闲时间) / 总时间 * 100%

sar 命令(历史数据分析)

  • 安装:同 mpstatsysstat 包)。
  • 操作
    • 查看当天历史记录(默认每10分钟采样):
      sar -u  # 整体CPU使用率
      sar -P ALL  # 每核详情
    • 实时监控(每2秒刷新):
      sar -u 2

图形化工具(可选)

  • GNOME 系统监视器
    • 桌面环境直接运行 gnome-system-monitor
  • Netdata

    实时Web仪表盘,支持Docker部署,提供详细性能可视化。


场景推荐

  • 快速检查tophtop
  • 多核分析mpstat -P ALL
  • 历史趋势sar
  • 脚本开发:解析 /proc/stat

安全提示

  • 除读取 /proc/stat 外,其他命令通常无需 sudo 权限。
  • 避免频繁执行高开销命令(如每秒调用 ps),可能加剧负载。

引用说明: 参考 Linux 官方文档(kernel.org)、sysstat 手册页(github.com/sysstat/sysstat)及 IBM 开发者文档(developer.ibm.com),数据计算逻辑遵循 Linux 内核 procfs 设计规范。

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

(0)
酷番叔酷番叔
上一篇 2025年7月27日 03:36
下一篇 2025年7月27日 03:56

相关推荐

  • linux下如何退出终端

    Linux终端中,可输入exit命令或按Ctrl + D组合键来

    2025年8月18日
    14800
  • 关键时刻,数据备份如何救你一命?

    在Linux系统中,快照(Snapshot)是一种记录文件系统或磁盘卷在某一时刻状态的技术,常用于数据备份、系统恢复或测试环境搭建,它能快速捕获当前数据状态,后续变更不会影响快照内容,以下是Linux实现快照的三种主流方法,操作步骤基于实际生产环境验证,确保安全可靠,数据保护:误删文件或系统崩溃时,可快速回滚到……

    2025年6月27日
    18000
  • Linux创建启动脚本的方法是什么?

    在Linux系统中,启动脚本是实现自动化任务、服务管理和环境配置的核心工具,通过编写启动脚本,可以让系统或用户在开机、登录时自动执行预设命令,例如启动服务、初始化环境、备份数据等,本文将详细讲解Linux中创建启动脚本的完整流程,涵盖脚本编写、权限管理、开机自启配置及常见问题解决方法,启动脚本的类型与适用场景L……

    2025年9月29日
    12600
  • Linux系统如何安装deb文件?

    在Linux系统中,尤其是基于Debian或Ubuntu的发行版,deb文件是常见的软件包格式,安装deb文件有多种方法,可根据场景选择,以下是详细步骤及注意事项,使用dpkg命令安装(基础命令行方法)dpkg是Debian系系统的包管理工具,可直接安装deb文件,但需注意依赖问题,操作步骤:打开终端,进入de……

    2025年9月8日
    14900
  • 如何在Linux快速运行C程序?

    准备工作安装 GCC 编译器Linux 默认不安装编译器,打开终端,执行以下命令安装 GNU Compiler Collection (GCC):sudo apt update && sudo apt install gcc # Debian/Ubuntusudo dnf install gcc……

    2025年7月15日
    16400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信