在 Linux 系统中,查看 CPU 使用情况是性能分析和故障排查的重要环节。查看 CPU 使用情况,使用 top 命令或者 htop 命令来查看。
top 命令是 Linux 的一个快速动态进程监视器,可以实时显示特定系统监视器核心指标,示例如下:
1. top 命令
top
top - 19:30:10 up 2:33, 1 user, load average: 0.44, 0.47, 0.45
Tasks: 183 total, 1 running, 1 sleeping, 182 stopped, 0 zombie
Cpu(s): 3.6%us, 0.3%sy, 0.0%ni, 95.7%id, 0.3%wa, 0.0%hi, 0.1%si, 0.0%st
从上面的情况来看,CPU 当前使用率为 3.6%us ,这部分使用率代表在用户空间内的 CPU 时间 ,另外的 0.3%sy 指代表系统空间内的 CPU 时间, 95.7%id 表示 CPU 当前空闲时间占总时间百分比。
核心功能:动态显示系统资源使用情况,默认按 CPU 占用排序。
关键指标:
%Cpu(s) 行:
- us:用户态进程占用 CPU 时间(非 root)。
- sy:内核态进程占用 CPU 时间。
- ni:调整过优先级的用户进程占用时间。
- id:空闲时间(Idle)。
- wa:等待 I/O 完成的时间(iowait)。
- hi:硬件中断时间。
- si:软件中断时间。
- st:虚拟化环境下被偷取的时间(steal time)。
操作:
- 按 1 展开多核 CPU 详情。
- 按 P 以 CPU 使用率排序。
- 按 Shift + H 显示线程级数据。
2. htop 命令
使用 htop 查看 CPU 使用情况,它可以显示更详细的信息,包括内存使用情况、进程、CPU 使用率等。使用htop 命令后,可以看到 CPU 的状态:
htop
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3 root 20 0 8572 768 584 S 0.0 0.1 0:00.01 init
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
优势:比 top 更友好的交互式界面,支持颜色标记、鼠标操作和垂直/水平滚动。
htop 命令还可以读到进程的 PID , USER 名,PR 和 NI 的优先级以及 CPU 的占用率等等,从而更加直观地了解各个进程和 CPU 的使用情况。
多核 CPU 分析
3. mpstat 命令
mpstat -P ALL 1 # 每秒报告所有 CPU 核心的使用情况
来源:sysstat 工具包(需安装)。
输出解析:
- %usr:用户态 CPU 使用率。
- %nice:调整优先级的用户进程。
- %sys:内核态 CPU 使用率。
- %iowait:I/O 等待时间。
- %irq:硬件中断时间。
- %soft:软件中断时间。
- %idle:空闲时间。
- 用途:诊断 CPU 核心负载不均问题。
综合性能工具
4. vmstat 命令
vmstat 1 # 每秒输出一次系统状态
核心指标:
- r:等待运行的进程数(可判断 CPU 是否饱和)。
- us, sy, id, wa:同 top 的 CPU 分类。
- cs:上下文切换次数(过高可能因进程争抢 CPU)。
<!---->
- 特点:结合 CPU、内存、I/O 综合分析。
查看 CPU 使用情况,有助于 Linux 管理员深层次地探究性能状况,找出进程所占系统资源的大小,检查 CPU 运行率是否过高,查看 CPU 是否存在僵尸进程等,可以很方便的查看关键的系统指标,进而优化 Linux 系统的性能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。