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系统中,进程管理是系统运维和日常使用中的核心操作,其中查看和终止(查杀)进程是最常见的任务,掌握相关命令不仅能帮助用户监控系统运行状态,还能在进程异常时及时处理,避免系统资源耗尽或服务中断,以下从查看进程和查杀进程两个维度,结合具体命令、选项和示例,详细介绍Linux进程管理方法,查看进程:多维度定位……

    2025年10月6日
    1100
  • Linux下如何创建脚本文件夹?

    在Linux系统中,创建一个专门用于存放脚本的文件夹是提高工作效率和文件管理规范的重要步骤,脚本文件夹不仅能集中管理可执行文件,还能通过权限设置确保安全性,同时便于后续维护和复用,以下将详细介绍从创建文件夹到管理脚本的全流程操作,包括命令使用、权限配置及常见场景处理,创建脚本文件夹的基础操作创建文件夹是使用Li……

    2025年9月19日
    2100
  • 如何安全高效远程管理Linux服务器?

    使用SSH密钥认证替代密码登录,配置防火墙限制访问IP,借助Ansible等工具实现批量自动化管理,并设置实时监控与告警,确保操作安全与效率。

    2025年7月17日
    4900
  • 如何在Linux系统中修改文件与目录权限的详细步骤有哪些?

    在Linux系统中,文件和目录权限是保障系统安全的核心机制,通过控制不同用户对资源的访问权限,避免未授权操作,修改权限主要涉及chmod、chown和chgrp三个命令,下面详细介绍其使用方法和注意事项,Linux权限的基本概念Linux中的权限分为三类:文件所有者(User)、所属组(Group) 和 其他用……

    2025年9月21日
    2600
  • Debian如何快速安装Python工具链?

    通过包管理器安装(推荐)包管理器是Linux最核心的安装方式,自动解决依赖关系且安全性高(软件源自发行版官方仓库),不同发行版命令如下:Debian/Ubuntu系(APT)sudo apt update # 更新软件源列表sudo apt install 软件包名 # 安装软件(如 sudo apt inst……

    2025年6月27日
    4300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信