可使用top、htop、vmstat、pidstat和mpstat命令实时监控Linux CPU占用:top动态显示进程CPU使用率并支持排序;htop增强交互体验;vmstat提供系统级CPU状态采样;pidstat支持进程级周期性采集;mpstat分析多核CPU负载分布。

如果您需要实时了解Linux系统中CPU资源的占用情况,则可以使用命令行性能监控工具进行观测。以下是几种常用且有效的方法:
一、使用top命令查看CPU占用
top命令是Linux系统内置的标准进程监控工具,以动态刷新方式显示各进程对CPU、内存等资源的实时占用,其默认排序依据为CPU使用率。
1、在终端中输入top并按回车键启动命令。
2、观察界面第一行中的load average数值,该值反映系统在过去1分钟、5分钟、15分钟的平均负载;结合逻辑CPU核心数可判断是否超负荷。
3、查看第三行以%Cpu(s)开头的统计信息,其中us(用户态)、sy(内核态)、id(空闲)等字段分别表示各类CPU时间占比。
4、按下P键按CPU使用率从高到低重新排序进程列表。
5、按下1键展开显示每个逻辑CPU核心的独立使用率曲线。
二、使用htop命令查看CPU占用
htop是top的增强替代品,支持彩色显示、垂直/水平滚动、鼠标操作及进程树视图,提供更直观的CPU占用分布感知能力。
1、若未安装,执行sudo apt install htop(Debian/Ubuntu)或sudo yum install htop(CentOS/RHEL)。
2、在终端中输入htop并回车运行。
3、顶部条形图实时显示每个CPU核心的使用率,颜色区分用户态、内核态、IO等待等状态。
4、按F6选择排序字段,再按cpu%确认按CPU占用率排序。
5、使用方向键选中目标进程,按F9可发送信号终止进程(需权限)。
三、使用vmstat命令查看CPU总体状态
vmstat提供系统级采样报告,不显示单个进程,但能清晰反映CPU在用户态、内核态、空闲、等待IO等状态下的时间分配比例。
1、在终端中执行vmstat 2 5,表示每2秒输出一次,共输出5次统计。
2、查看输出中r(运行队列长度)、b(阻塞进程数)、us(用户CPU时间)、sy(系统CPU时间)、id(空闲CPU时间)、wa(IO等待时间)等关键列。
3、若wa持续高于20%,表明CPU可能因磁盘IO瓶颈而闲置等待。
四、使用pidstat命令按进程粒度查看CPU占用
pidstat属于sysstat套件,擅长周期性采集指定进程或全系统进程的CPU使用率,适合做定时监控与日志记录。
1、确保已安装sysstat:执行sudo apt install sysstat或sudo yum install sysstat。
2、运行pidstat -u 1 3,表示每1秒采样一次,共3次,输出各进程的CPU使用率。
3、添加-p ALL参数可监控所有进程,或指定PID如-p 1234仅监控特定进程。
4、使用-t选项可进一步显示线程级CPU占用详情。
五、使用mpstat命令查看多核CPU详细分布
mpstat是sysstat组件之一,专用于分析每个CPU核心或处理器的单独性能指标,适用于排查负载不均衡问题。
1、执行mpstat -P ALL 2 3,表示对所有CPU核心每2秒采样一次,共3次。
2、输出表格中每一行对应一个CPU编号(包括all汇总行),重点关注%usr、%sys、%iowait、%idle列。
3、若某核心%idle长期接近100%而其他核心持续满载,说明存在调度或应用线程绑定异常。











