Linux服务器CPU使用情况监测全指南
对于Linux系统管理员来说,实时掌握服务器CPU使用情况是保证系统稳定运行的关键。本文将详细介绍8种专业级CPU监控方法,帮助您全面了解服务器性能状况。
一、基础命令工具
1. top命令 - 实时监控利器
top - 14:30:45 up 45 days, 2:15, 3 users, load average: 0.25, 0.18, 0.12
Tasks: 156 total, 1 running, 155 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.3 us, 1.2 sy, 0.0 ni, 93.2 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
关键指标解析:
- us:用户空间占用CPU百分比
- sy:内核空间占用CPU百分比
- id:空闲CPU百分比
- wa:IO等待占用CPU百分比
2. vmstat命令 - 系统资源全景图
vmstat 2 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 457892 84532 1024584 0 0 12 23 45 89 5 2 92 1 0
二、高级监控方案
3. mpstat命令 - 多核CPU分析
显示每个CPU核心的详细使用情况:
mpstat -P ALL 2
Linux 5.4.0-91-generic (server1) 03/15/2022 _x86_64_ (8 CPU)
14:32:45 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
14:32:47 all 6.12 0.00 1.25 0.25 0.00 0.12 0.00 0.00 0.00 92.25
14:32:47 0 7.00 0.00 1.50 0.50 0.00 0.00 0.00 0.00 0.00 91.00
4. sar命令 - 历史数据分析
查看过去CPU使用记录:
sar -u -f /var/log/sa/sa15
Linux 5.4.0-91-generic (server1) 03/15/2022 _x86_64_ (8 CPU)
12:00:01 AM CPU %user %nice %system %iowait %steal %idle
12:10:01 AM all 5.32 0.00 1.05 0.12 0.00 93.51
三、图形化监控工具
5. htop - 增强版top
安装方法:
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL
特色功能:
- 彩色界面显示
- 鼠标支持操作
- 树状视图进程
- 垂直/水平滚动
6. Glances - 全能监控工具
安装与使用:
pip install glances
glances
核心优势:
- Web界面支持
- API访问接口
- 插件扩展系统
- 告警功能
四、生产环境最佳实践
7. 监控脚本示例
创建自动监控脚本:
#!/bin/bash
LOG_FILE="/var/log/cpu_monitor.log"
THRESHOLD=80
while true; do
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
echo "$TIMESTAMP - CPU Usage: $CPU_USAGE%" >> $LOG_FILE
if (( $(echo "$CPU_USAGE > $THRESHOLD" | bc -l) )); then
echo "WARNING: High CPU usage detected!" | mail -s "CPU Alert" [email protected]
fi
sleep 60
done
8. 性能优化建议
- 定期检查并终止僵尸进程
- 优化cron任务执行时间
- 使用nice/renice调整进程优先级
- 考虑使用cgroups限制资源
- 升级内核到最新稳定版
掌握这些CPU监控技术,您将能够:
- 快速定位性能瓶颈
- 预测系统负载趋势
- 制定合理的扩容计划
- 及时处理异常情况
建议将本文介绍的方法结合使用,建立完整的服务器性能监控体系。
