Linux性能监控
核心观察步骤
- 启动top并查看整体CPU状态
输入top回车,第三行%Cpu(s)数据是核心:
us(用户空间占用):若持续 >70%,说明应用进程消耗过高
sy(内核占用):>20% 可能预示系统调用频繁或驱动问题
id(空闲率):长期 <30% 表明CPU资源紧张
wa(I/O等待):>5% 说明磁盘I/O成为瓶颈,间接拖累CPU
示例:若显示 us=85%, sy=10%, id=5%, wa=0%,表明应用进程已占满CPU资源 - 按下1键查看单核负载
多核系统中,平均负载可能掩盖单核过载问题。按下1展开所有核心:
若某核心的us或sy持续接近100%,说明该核已饱和
适用于多线程应用不均衡的场景 - 检查load average(系统负载)
第一行末尾三个数值:
分别代表1分钟、5分钟、15分钟的平均负载。
若负载值 > CPU物理核数×2(如8核服务器负载>16),表明系统严重过载
例如:4核CPU若负载达10,需立即排查进程问题 - 按CPU使用率排序进程
在top界面按P(大写),将进程按%CPU降序排列:
顶部进程即为消耗CPU最多的应用
观察是否有异常进程长期占用 >50% CPU
危险信号判断
进阶排查技巧
- 动态监控:使用 top -d 2 每2秒刷新,观察波动趋势
- 可疑进程分析:
按P定位高CPU进程的PID
输入k → 输入PID → 发送信号15尝试终止(谨慎操作)
若进程为Java应用,用 jstack [PID] 分析线程栈 - 结合vmstat验证:
运行 vmstat 1 查看上下文切换(cs列)和中断次数,高频率可能加剧CPU负担
结论
通过top可快速诊断CPU状态:
- %Cpu(s)行看us/sy/id/wa比例;
- load average 对比CPU核数;
- 按P排序进程揪出资源消耗者;
- 按M排序内存;
- 单核视图(按1) 排查负载不均。
若多指标持续超阈值,表明CPU已达性能瓶颈,需优化或扩容