Linux监控CPU使用

news/2025/3/7 1:01:10/文章来源:https://www.cnblogs.com/smartljy/p/18756842

Linux监控CPU使用

内容

在 Linux 中查看 CPU 占用率的常用命令非常多,以下是一个分类整理的高效工具清单,涵盖实时监控、历史分析和高级统计场景:


一、实时 CPU 监控工具

1. top (基础版)

top
  • 功能:动态显示进程和 CPU 占用(用户态、内核态、空闲占比)
  • 操作
    • 1:展开每个 CPU 核心的详情
    • P:按 CPU 使用率排序

2. htop (增强版)

sudo apt install htop  # Debian/Ubuntu
htop
  • 优势:彩色界面、鼠标交互、树状视图
  • 操作
    • 鼠标点击列标题排序
    • F4 过滤进程名

3. glances (全资源监控)

sudo pip3 install glances
glances
  • 功能:同时显示 CPU、内存、磁盘、网络等指标
  • 输出示例
    CPU  [|||||||||||||||||||||||||||||||||||||||||||||||| 95.2%]  Load 3.2
    

二、多核 CPU 分析工具

1. mpstat (每核详细统计)

sudo apt install sysstat  # 安装
mpstat -P ALL 1          # 每秒刷新所有核心数据
  • 输出关键字段
    • %usr:用户态 CPU 时间
    • %sys:内核态 CPU 时间
    • %idle:空闲率

2. turbostat (Intel/AMD CPU 功耗监控)

sudo apt install linux-tools-common
turbostat --show Core,CPU,Avg_MHz,Busy%,PkgTmp
  • 用途:监控 CPU 频率、温度和功耗(需 root)

三、历史数据分析工具

1. sar (历史趋势)

sar -u 1 3       # 查看 CPU 历史数据(1秒间隔,采样3次)
sar -f /var/log/sa/saXX  # 查看某日存档(XX为日期)
  • 关键字段
    • %user:用户进程占用
    • %iowait:等待 I/O 的时间

2. atop (长期记录)

sudo apt install atop
atop -l        # 查看历史记录(按 `t` 切换时间点)

四、进程级 CPU 分析

1. pidstat (进程/线程级)

pidstat -u 1    # 每秒报告进程 CPU 使用率
pidstat -tu -p <PID> 1  # 监控指定进程的线程

2. ps (快照模式)

ps -eo pid,user,%cpu,cmd --sort=-%cpu | head -n 10
  • 作用:快速找出当前 CPU 占用最高的前 10 进程

五、轻量级工具

1. vmstat (快速概览)

vmstat 1        # 每秒输出(关注 `us`, `sy`, `id` 列)

2. dstat (多功能)

sudo apt install dstat
dstat -c        # 实时显示 CPU 使用率 + 中断上下文

六、可视化工具

1. nmon

sudo apt install nmon
nmon → 按 c     # 进入 CPU 监控模式
  • 输出:动态显示每个核心的使用率柱状图

2. netdata (Web 仪表盘)

bash <(curl -Ss https://my-netdata.io/kickstart.sh)
  • 访问http://localhost:19999

七、底层工具

1. /proc/stat

cat /proc/stat | grep '^cpu'
  • 手动计算公式
    total = user + nice + system + idle + iowait + irq + softirq
    used = total - idle - iowait
    usage = 100 * used / total
    

2. perf (高级性能分析)

sudo perf stat -a -- sleep 1  # 监控全局 CPU 周期

选型建议

场景 推荐工具
快速查看实时 CPU top/htop
多核详细统计 mpstat
历史数据分析 sar
进程级分析 pidstat
开发环境轻量监控 vmstat/dstat
生产环境长期监控 netdata/Prometheus

注意事项

  1. 部分工具需 root 权限(如 turbostat
  2. 历史数据工具(如 sar)依赖 sysstat 服务的后台运行
  3. 避免在容器环境中使用依赖 /proc 文件的工具(可能需要特权模式)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894898.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLaVA 论文笔记

介绍 提出了 visual instruction-tuning,这是将指令微调扩展到多模态的首次尝试 相关工作 多模态的指令微调 Agent、指令微调 数据 使用 ChatGPT/GPT-4 来将数据转化为 multimodel instrustion-following data 为每一个图像生成三种 mulmodal instruction-following data,对于…

FastAPI 请求体参数与 Pydantic 模型完全指南:从基础到嵌套模型实战

title: FastAPI 请求体参数与 Pydantic 模型完全指南:从基础到嵌套模型实战 🚀 date: 2025/3/7 updated: 2025/3/7 author: cmdragon excerpt: 本教程深入探讨 FastAPI 请求体参数与 Pydantic 模型的核心机制,涵盖从基础模型定义到嵌套模型的高级用法。通过详细的代码示例…

主机、主机中的Ubuntu虚拟机、与ixm6ull开发板三者互ping且均能联网个人流程记录

1.0 设备连接要求笔记本通过网线连接到开发板,且笔记本通过 usb转type-c线连接到开发板的对应位置(USB TTL那个)。 笔记本需要连接WIFI。 笔记本、开发板、Ubuntu虚拟机启动且能够正常运行。2.0 打开WIFI的网络共享 控制面板 -> 网络和 Internet -> 网络和共享中心,选…

基于PID控制器的六自由度串联机器人控制系统的simulink建模与仿真

1.课题概述 基于PID控制器的六自由度串联机器人控制系统的simulink建模与仿真。2.系统仿真结果 (完整程序运行后无水印) 3.核心程序与模型 版本:MATLAB2022a 4.系统原理简介六自由度串联机器人控制系统是机器人学中的一个核心问题,其中PID控制器因其简单、实用和易于调整…

Windows快捷方式文件相对路径

前言全局说明Windows快捷方式相对路径 通常情况下创建快捷方式,使用的都是绝对路径,如果文件目录迁移到别的地方,不同路径下,那么这个快捷方式就失效了,如果使用相对路径,只要父文件夹不变,那么子文件夹中的快捷方式就能一直有效。一、说明 1.1 环境: Windows 11 家庭版…

基于GARCH-Copula-CVaR模型的金融系统性风险溢出效应matlab模拟仿真

1.程序功能描述 基于GARCH-Copula-CVaR模型的金融系统性风险溢出效应matlab模拟仿真,仿真输出计算违约点,资产价值波动率,信用溢价,信用溢价直方图等指标。 2.测试软件版本以及运行结果展示MATLAB2022A版本运行 (完整程序运行后无水印) 3.核心程序%计算违约点 DP …

Java笔记-17、Web后端基础 Java操作数据库

JDBCsun公司官方定义的一套操作所有关系型数据库的规范,即接口。 各个数据库厂商去实现这套接口,提供数据库驱动jar包。 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。public void testUpdate() throws Exception {// 注册驱动Class.forName(&qu…

netcore后台服务慎用BackgroundService

在 .NET Core 开发中,BackgroundService 是一个非常方便的后台任务运行方式,但它并不适用于所有场景。 BackgroundService 一时爽,并发火葬场。 BackgroundService 适用于单实例的无状态后台任务,例如:定期清理任务(删除过期数据、日志清理) 轻量级定时任务(如定期检查…

基于遗传优化SVM的电机参数预测matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)输入:电机结构参数x1 x2 x3 x4 x5(分别是铁心高度 铁心厚度 绕组匝数 窗口宽度 导线截面积 ) 目标值:体积v、加速度ax、加速度ay和加速度az 2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作…

JetBrains Rider 2024软件下载与安装教程

Rider2024是一款基于IntelliJ以及ReSharper所开发的跨平台式的开发环境,并且该软件也是C#、Unity等应用程序的专属开发环境。提供了极为强大的代码编辑器,对于C#和Unity等都能完美兼容,开发者用户们能够在其中轻松自在的编写出代码项目,同时还提供了智能代码补全的功能,提…

JetBrains CLion 2024软件下载与安装教程

1、安装包 扫描下方二维码关注「软知社」,后台回复【046】三位数字即可免费获取分享链接,无广告拒绝套路;2、安装教程(建议关闭杀毒软件)解压下载安装包文件,双击exe安装,弹窗安装对话框点击下一步选择软件的安装路径,选择C盘之外的空间,点击下一步创建桌面快捷方式勾选…

2025.3.6 起步

今天学习了web安全的基本知识 1,http,一种协议,常用TCP 2,http的请求方法(GET/POST/PUT...)和请求状态(200 OK/404 NOT FOUND...) 3,URL网址,及其组成 4,UA头,User-Agent,可以知道操作系统、CPU、浏览器类型 5,BurpSuite抓包返回包,可以得到很多信息6,Referer,告诉…