为什么需要监控CPU使用率?
在云服务器运维工作中,CPU使用率是最关键的监控指标之一。通过实时掌握CPU使用情况,我们可以:
- 及时发现性能瓶颈
- 预防系统过载导致的宕机
- 优化应用程序性能
- 合理规划服务器资源扩容
本文将详细介绍5种在Linux系统中查看CPU使用率的方法,从基础命令到高级监控工具应有尽有。
方法1:使用top命令(实时监控)
top是最常用的实时系统监控工具,输入命令后,第一行就会显示CPU使用情况:
top
输出示例:
%Cpu(s): 12.3 us, 1.2 sy, 0.0 ni, 86.1 id, 0.1 wa, 0.0 hi, 0.3 si, 0.0 st
各参数含义:
- us:用户空间占用CPU百分比
- sy:内核空间占用CPU百分比
- id:空闲CPU百分比
- wa:IO等待占用CPU百分比
按1键可以查看多核CPU每个核心的使用情况。
方法2:使用vmstat命令(系统整体状态)
vmstat命令可以显示系统整体的CPU使用情况:
vmstat 1 5
参数说明:
- 第一个数字1表示每秒采样一次
- 第二个数字5表示采样5次
重点关注us、sy和id列,分别代表用户态、内核态和空闲CPU时间。
方法3:使用mpstat命令(多核CPU监控)
对于多核服务器,mpstat命令可以分别显示每个CPU核心的使用情况:
mpstat -P ALL 1
输出示例:
CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
0 5.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 94.00
1 7.00 0.00 2.00 0.00 0.00 0.00 0.00 0.00 0.00 91.00
方法4:使用sar命令(历史数据分析)
sar是sysstat工具包的一部分,可以查看历史CPU使用数据:
sar -u
查看当天CPU使用率:
sar -u -f /var/log/sa/sa15
其中sa15代表当月15号的数据文件。
方法5:使用htop命令(增强版top)
htop是top的增强版,提供了更友好的界面:
htop
主要优势:
- 彩色显示,更直观
- 支持鼠标操作
- 可以树状图显示进程关系
- 支持直接杀死进程
如果系统没有安装,可以使用yum install htop或apt install htop安装。
CPU使用率异常排查技巧
当发现CPU使用率异常高时,可以按照以下步骤排查:
- 使用
top或htop找出占用CPU高的进程 - 使用
ps -ef | grep 进程ID查看进程详情 - 使用
strace -p 进程ID跟踪系统调用 - 使用
perf top分析热点函数 - 检查/var/log/下的系统日志
总结
监控Linux云服务器的CPU使用率是系统管理员的基本功。根据不同的使用场景,可以选择合适的工具:
| 场景 | 推荐工具 |
|---|---|
| 实时监控 | top/htop |
| 多核分析 | mpstat |
| 历史数据 | sar |
| 系统整体状态 | vmstat |
建议将这些命令加入日常监控脚本,或使用Prometheus+Grafana等专业监控系统实现自动化监控。
