Linux系统如何查看CPU使用率?
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服务器稳定高效运行。
