在 Linux 系统中,查看 CPU 使用情况是系统管理员和开发人员经常需要进行的操作。了解 CPU 的使用情况可以帮助我们优化系统性能、排查性能瓶颈以及合理分配资源。以下是几种常用的查看 CPU 使用情况的方法:
top
命令top
命令是一个实时显示系统进程资源使用情况的工具,它不仅可以查看 CPU 使用率,还可以查看内存使用率、进程 ID、用户等信息。
$ top
在 top
命令的输出中,%CPU
列显示了每个进程的 CPU 使用率。你可以通过以下按键来操作 top
命令:
P
键:按 CPU 使用率排序,方便快速找到占用 CPU 最高的进程。M
键:按内存使用率排序。q
键:退出 top
命令。htop
命令htop
命令是 top
命令的增强版,它提供了更直观的彩色界面和更丰富的功能。
$ htop
在 htop
中,CPU 使用率以条形图的形式显示,非常直观。你可以通过方向键浏览进程列表,按 Enter
键查看特定进程的详细信息,按 F5
键查看树状视图,按 F10
键退出。
mpstat
命令mpstat
命令可以显示每个 CPU 核心的使用情况,这对于多核处理器的系统非常有用。
$ mpstat
输出示例:
Linux 5.4.0-42-generic (your-hostname) 08/15/2025 _x86_64_ (4 CPU)
04:30:00 PM CPU %user %nice %system %iowait %steal %idle
04:30:00 PM all 12.50 0.00 3.20 0.50 0.00 83.80
04:30:00 PM 0 10.00 0.00 2.00 0.00 0.00 88.00
04:30:00 PM 1 15.00 0.00 4.00 1.00 0.00 80.00
04:30:00 PM 2 10.00 0.00 2.00 0.00 0.00 88.00
04:30:00 PM 3 12.00 0.00 3.00 0.00 0.00 85.00
在输出中,%user
表示用户态 CPU 使用率,%system
表示内核态 CPU 使用率,%idle
表示空闲 CPU 使用率。
4. 使用 /proc/stat
文件
/proc/stat
文件包含了系统 CPU 使用情况的详细统计信息。你可以通过以下命令查看其内容:
$ cat /proc/stat
输出示例:
cpu 10000 2000 5000 80000 1000 0 0 0 0 0
cpu0 2000 500 1000 20000 300 0 0 0 0 0
cpu1 2000 500 1000 20000 300 0 0 0 0 0
cpu2 2000 500 1000 20000 300 0 0 0 0 0
cpu3 2000 500 1000 20000 300 0 0 0 0 0
每一行代表一个 CPU 核心的统计信息,cpu
行表示所有核心的总和。字段的含义如下:
user
:用户态 CPU 时间nice
:低优先级用户态 CPU 时间system
:内核态 CPU 时间idle
:空闲 CPU 时间iowait
:等待 I/O 操作的 CPU 时间irq
:处理硬件中断的 CPU 时间softirq
:处理软件中断的 CPU 时间Linux 系统中还有一些其他工具可以用于查看 CPU 使用情况,例如 sar
命令、atop
命令等。
$ ps aux --sort -pcpu | head -n 10
$ sar -u
$ atop
通过这些工具和命令,你可以全面了解 Linux 系统的 CPU 使用情况,从而更好地管理和优化系统性能。