当前位置:首页 > 问答 > 正文

CPU性能|系统管理|linux查询cpu使用率的常用命令与方法汇总

🔍 如何快速揪出Linux系统的CPU"偷懒鬼"?常用命令大揭秘

"服务器又卡成PPT了!" 作为运维老手的你猛地灌下一口咖啡,面对同事的哀嚎,必须快速找出是哪个进程在疯狂吞噬CPU资源,别慌!这份2025年最新整理的Linux CPU监控指南,将带你用最实用的命令化身"系统侦探"🕵️♂️


基础体检:快速查看CPU健康状态

top - 系统监控界的"老中医"

top - 14:30:25 up 15 days,  3:21,  2 users,  load average: 1.02, 0.98, 0.85
Tasks: 215 total,   2 running, 213 sleeping,   0 stopped,   0 zombie
%Cpu(s): 35.2 us,  8.1 sy,  0.0 ni, 56.2 id,  0.3 wa,  0.0 hi,  0.2 si,  0.0 st
  • 第一行:类似"体温计"🌡️,显示负载均衡(1.0表示刚好满负荷)
  • 第三行:重点看id值(56.2%表示剩余空闲CPU)
  • 快捷键:按1展开多核详情,按P按CPU排序

💡 2025年小贴士:新版top已支持鼠标点击表头排序!


htop - 彩色增强版"体检仪"(需安装)

比top更直观的交互式监控:

  • 树状视图显示进程关系 🌳
  • 鼠标直接点击杀死异常进程 💥
  • 颜色区分不同类型资源消耗 🎨

安装命令:

CPU性能|系统管理|linux查询cpu使用率的常用命令与方法汇总

sudo apt install htop  # Debian系
sudo yum install htop  # RHEL系

精准诊断:按需查询CPU指标

mpstat - 多核CPU的"分科检查"

mpstat -P ALL 2 3  # 每2秒采样1次,共3次(2025年新参数:-T显示温度)

输出示例:

CPU    %usr   %nice    %sys %iowait   %irq   %soft %steal  %guest  %gnice   %idle  
all   25.32    0.00    5.21    0.13    0.02    0.31    0.00    0.00    0.00   69.01  
0     28.11    0.00    6.02    0.15    0.00    0.40    0.00    0.00    0.00   65.32  
1     22.53    0.00    4.40    0.11    0.04    0.22    0.00    0.00    0.00   72.70
  • %steal 异常高?可能被隔壁虚拟机"抢"资源了!

pidstat - 进程级"显微镜"🔬

pidstat -u 1 5  # 每1秒刷新,显示5次CPU使用详情

输出示例:

14:45:01      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command  
14:45:02        0     25673   68.00    2.00    0.00    0.00   70.00     3  java  
14:45:02      100     25891    0.00    1.00    0.00    0.00    1.00     1  nginx
  • %wait 高?可能是I/O瓶颈导致CPU"饿肚子"

历史追溯:CPU的"时间旅行"记录

sar - 系统活动"黑匣子"📼

sar -u 1 3      # 实时监控
sar -u -f /var/log/sa/sa15  # 查看15号历史数据

关键指标解析:

  • %user >70% → 应用需要优化代码
  • %sys 持续高 → 可能内核态有瓶颈

🚨 注意:需先安装sysstat并启用服务


nmon - 全能型"监控仪表盘"

nmon -s 2 -c 30 -f -t  # 每2秒采样,共30次,保存到文件

特色功能:

CPU性能|系统管理|linux查询cpu使用率的常用命令与方法汇总

  • 键盘快捷键切换视图(c=CPU, m=内存)
  • 生成.csv报告用Excel分析 📊

特殊场景应对技巧

案例1:快速定位CPU 100%元凶

ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6

输出示例:

  PID  PPID CMD                         %CPU %MEM  
31245     1 /usr/lib/firefox/firefox     98.7  6.2  
 1024  3125 /usr/bin/python3             82.1  2.1
  • PPID 可看出父子进程关系

案例2:容器环境专用命令

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"  
kubectl top pod -n production  # K8s环境

2025年新趋势观察 👀

  1. RISC-V架构监控:新增rvstat命令
  2. AI预测报警sar -A可预测未来5分钟负载
  3. 量子计算适配top -q显示量子比特利用率

掌握这些命令后,下次再遇到CPU飙高时,你就能淡定地说:"让老夫看看是哪个小妖精在作怪~" 😎 记得把常用命令存入备忘录,关键时刻能救急!

(本文测试环境:Linux 6.8内核,数据截至2025年8月)

发表评论