文档首页> 常见问题> Linux系统如何查看CPU使用率?

Linux系统如何查看CPU使用率?

发布时间:2025-05-01 03:44       

Linux系统查看CPU使用率的5种实用方法

作为Linux系统管理员或开发人员,实时监控CPU使用率是日常工作中不可或缺的重要技能。本文将详细介绍5种在Linux系统中查看CPU使用率的实用方法,帮助您全面掌握系统性能监控。

1. top命令 - 实时监控利器

top命令是Linux系统中最常用的性能监控工具之一。在终端输入top后,您将看到一个实时更新的进程列表。

top - 14:30:45 up 2 days,  5:17,  2 users,  load average: 0.15, 0.10, 0.05
Tasks: 120 total,   2 running, 118 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.3 us,  2.1 sy,  0.0 ni, 92.4 id,  0.1 wa,  0.0 hi,  0.1 si,  0.0 st

重点关注%Cpu(s)行,其中:

  • us: 用户空间占用CPU百分比
  • sy: 内核空间占用CPU百分比
  • id: 空闲CPU百分比

2. vmstat命令 - 系统资源概览

vmstat命令提供系统进程、内存、分页、块IO、陷阱和CPU活动的信息。

$ vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 123456  78900 456789    0    0    12    34   56   78  5  2 93  0  0

最后5列显示CPU使用情况,与top命令类似但更简洁。

3. mpstat命令 - 多核CPU监控

对于多核处理器,mpstat命令可以显示每个CPU核心的使用情况。

$ mpstat -P ALL 1 3
Linux 5.4.0-91-generic (hostname)     02/20/2023     _x86_64_    (4 CPU)

14:32:45     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
14:32:46     all    4.50    0.00    1.50    0.00    0.00    0.25    0.00    0.00    0.00   93.75
14:32:46       0    5.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   94.00

4. sar命令 - 历史性能数据分析

sar命令是sysstat工具包的一部分,可以收集、报告和保存系统活动信息。

$ sar -u 1 3
Linux 5.4.0-91-generic (hostname)     02/20/2023     _x86_64_    (4 CPU)

14:35:01     CPU     %user     %nice   %system   %iowait    %steal     %idle
14:35:02     all      4.50      0.00      1.50      0.00      0.00     94.00
14:35:03     all      3.75      0.00      1.25      0.00      0.00     95.00

5. /proc/stat文件 - 底层数据源

所有CPU使用率工具最终都是从/proc/stat文件中获取原始数据。

$ cat /proc/stat
cpu  123456 7890 34567 901234 5678 0 1234 0 0 0
cpu0 30864 1972 8641 225308 1419 0 308 0 0 0
cpu1 30812 1970 8640 225310 1420 0 309 0 0 0

这些数字表示各种状态下CPU花费的时钟周期数。

CPU使用率计算原理

CPU使用率的计算公式为:

总时间 = user + nice + system + idle + iowait + irq + softirq + steal
使用率 = (总时间 - idle) / 总时间 * 100%

监控工具选择建议

  • 快速检查:使用top或htop
  • 多核分析:使用mpstat
  • 历史数据:使用sar
  • 脚本处理:读取/proc/stat

掌握这些CPU监控方法,您将能够及时发现系统性能瓶颈,确保Linux服务器稳定高效运行。