如何查看某个进程的CPU使用率?
美国、香港服务器
如何查看某个进程的CPU使用率?
01-12 来源:
✅ Ubuntu 24.04 查看单个进程 CPU 使用率【4 种方法 + 精准解读】
查看单个进程的 CPU 使用率是运维排查高 CPU 问题的核心步骤,以下 4 种方法覆盖 「快速查看、实时监控、历史统计、线程级细分」 场景,命令直接复制执行,适配你熟悉的进程排查流程。
前提:获取进程的核心标识
查看前需要知道目标进程的 PID(进程 ID) 或 进程名,获取方式如下:
bash
运行
# 1. 按进程名查PID(如 redis-server)
pgrep redis-server
# 2. 实时查看所有进程,手动找PID/进程名
top
方法 1:top 命令(实时监控,最常用)⭐⭐⭐⭐⭐
top 是查看进程资源占用的首选工具,支持实时刷新,能直观看到进程的 CPU 使用率、内存占用等信息。
核心用法
bash
运行
# 方式1:直接过滤指定PID的进程(精准,推荐)
# 方式2:如果有多个进程,同时监控多个PID(用逗号分隔)
# 示例:监控PID为1234的redis进程
top -p 1234
关键输出解读
plaintext
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 redis 20 0 1.2g 200m 10m S 35.2 2.5 10:20.32 redis-server
字段 含义
%CPU 进程的 CPU 使用率(多核机器下,值可能超过 100%,代表占用多个核心)
TIME+ 进程累计占用的 CPU 时间(单位:分:秒)
S 进程状态(R= 运行中,S= 睡眠,Z= 僵尸进程)
实用操作
按 1:展开所有 CPU 核心的使用率(看进程是否占用多个核心);
按 q:退出 top 界面。
方法 2:pidstat 命令(统计型查看,适合长期监控)⭐⭐⭐⭐
pidstat 是专门用于进程资源统计的工具,输出更规整,适合脚本调用或长期监控,能避免 top 瞬时数据的误差。
核心用法
bash
运行
# 格式:pidstat -p
[刷新间隔秒数] [刷新次数]
# 示例1:查看PID=1234的进程,一次性输出统计信息
pidstat -p 1234
# 示例2:每秒刷新1次,共刷新5次(看CPU使用率趋势)
pidstat -p 1234 1 5
# 示例3:查看进程的线程级CPU使用率(细分到线程)
pidstat -t -p 1234 1 3
关键输出解读
plaintext
Linux 6.5.0-14-generic (ubuntu2404) 01/12/26 _x86_64_ (8 CPU)
15:30:00 PID %usr %system %guest %wait %CPU CPU Command
15:30:01 1234 28.0 7.2 0.0 0.0 35.2 2 redis-server
字段 含义
%usr 进程在用户态占用的 CPU 百分比(业务逻辑消耗)
%system 进程在内核态占用的 CPU 百分比(系统调用消耗)
%CPU 进程的总 CPU 使用率(%usr + %system)
CPU 进程当前运行在哪个 CPU 核心上(多核定位)
优势
输出稳定,无冗余信息,适合日志记录和脚本分析;
-t 参数可查看进程内每个线程的 CPU 使用率,是定位线程级高 CPU 的利器。
方法 3:ps 命令(快速一次性查看,无需交互)⭐⭐⭐
ps 是系统默认工具,支持一次性查询进程的 CPU 使用率,无需进入交互界面,适合快速检查。
核心用法
bash
运行
# 方式1:查看指定PID的进程CPU使用率(简洁版)
# 方式2:查看指定进程名的CPU使用率(模糊匹配,如 redis)
ps aux | grep redis | grep -v grep
# 示例:查看PID=1234的进程信息
ps -p 1234 -o %cpu,pid,cmd
关键输出解读
plaintext
%CPU PID CMD
35.2 1234 redis-server 127.0.0.1:6379
字段 含义
%CPU 进程自启动以来的平均 CPU 使用率(注意:不是实时值,是累计平均值)
PID 进程 ID
CMD 进程的启动命令
注意事项
ps 输出的 %CPU 是累计平均值,不是实时使用率,若需实时数据,优先用 top 或 pidstat。
方法 4:htop 命令(可视化监控,更友好)⭐⭐⭐
htop 是 top 的增强版,界面更美观,支持鼠标操作,适合可视化监控进程 CPU 使用率(需手动安装)。
安装与使用
bash
运行
# 1. 安装htop
sudo apt update && sudo apt install -y htop
# 2. 启动htop,搜索目标进程
htop
实用操作
按 /:输入进程名 / PID,快速过滤目标进程;
按 F6:选择 %CPU 排序,按 CPU 使用率从高到低展示;
按 q:退出 htop。
核心知识点解读(运维必懂)
多核 CPU 的 % CPU 值超过 100%?正常!
单核心 CPU 的使用率上限是 100%,8 核 CPU 的单个进程理论上限是 800%(同时跑满 8 个核心);
示例:%CPU=150% 表示进程占用了 1.5 个核心 的 CPU 资源。
用户态 CPU 高 vs 内核态 CPU 高?
%usr 高:进程的业务逻辑消耗 CPU(如 Redis 的键扫描、Python 的循环),需优化代码 / 配置;
%system 高:进程的系统调用消耗 CPU(如频繁读写文件、网络 IO),需优化 IO 操作。
如何判断进程 CPU 使用率过高?
单个进程的 %CPU 持续超过 80%,且进程状态为 R(运行中),说明该进程是高 CPU 瓶颈;
结合服务器总核心数判断:8 核服务器中,单个进程占 100% 仅占用 1/8 的 CPU 资源,无需紧张。
总结:不同场景的工具选择
需求场景 推荐工具 核心命令
实时监控单个进程 CPU 使用率
top
top -p
统计进程 CPU 使用率趋势
pidstat
pidstat -p
1 5
快速一次性查看进程 CPU 使用率
ps
ps -p
-o %cpu,pid,cmd
可视化监控 + 多进程对比 htop htop → 搜索进程名
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快