设计一个三步快速检查法,在60秒内判断瓶颈大致是CPU、内存、IO还是网络。
# 1. CPU瓶颈检查 (前5行)
top -bn1 | head -5
# 关键指标:%Cpu(s)行,us(用户态)高表示应用计算密集,sy(系统态)高表示内核调用频繁
# 决策:如果us+sy持续>80%,可能是CPU瓶颈
# 2. 内存瓶颈检查
free -h
# 关键指标:available字段(真正可用内存),swap used(交换使用量)
# 决策:如果available很少且swap used持续增长,可能是内存瓶颈
# 3. IO瓶颈检查
iostat -dx 1 3 | tail -10
# 关键指标:%util(利用率),await(响应时间)
# 决策:如果%util持续>80%且await很高,可能是IO瓶颈
# 内存问题区分:
# – 应用内存泄漏:观察进程RES持续增长且不释放(用`top`然后按M按内存排序)
# – 系统缓存占用:free显示cached/buffers很大,但available充足
# 使用`ps aux –sort=-%mem`或`smem`查看具体进程内存使用
一、CPU检查命令
top 命令是 Linux 系统最常用的实时性能监控工具,可以动态查看系统的整体运行情况。

第一行:系统的概述 第二行:进程相关的统计 第三行:cpu的状态(us+sy)>70可能瓶颈
第四、五行:内存状态信息
二、内存的检查命令详解
free命令是查询内存详细信息,查询内存的具体情况

不要只看 free 值:Linux会充分利用内存作为缓存
关注 available 值:这才是真正可用的内存
三、磁盘的检查命令详解
1、df 显示磁盘空间使用情况

2、iostat 用于监控系统CPU和磁盘I/O性能

四、网络检查命令详解
1、 ss 命令详解

2、netstat 在之前老版本的linux可能使用,这里不截图了,netstat比较慢
五、进程检查命令详解
ps命令查询进程
1、ps aux 显示所有进程的完整信息
2、ps aux –sort=-%cpu | head -10 按照cpu使用率来排序
3、ps aux –sort=-%men | head -10 按照内存使用率来排序
4、ps -ef | grep nginx 查询指定的进程
注意点:aux 可以显示cou使用率、内存使用率、虚拟和物理内存大小、进程状态,但-ef不可以

六、关键指标阈值参考
| CPU使用率 | < 70% | 70-85% | > 85% | top, vmstat |
| 内存使用率 | < 80% | 80-90% | > 90% | free -h |
| 磁盘使用率 | < 80% | 80-90% | > 90% | df -h |
| 磁盘I/O等待 | < 5% | 5-20% | > 20% | iostat -x |
| 系统负载 | < CPU核心数 | CPU核心数×2 | CPU核心数×4 | uptime |
| TCP连接数 | – | > 10000 | > 50000 | ss -t |
| 僵尸进程 | 0 | > 0 | > 5 | ps aux | grep Z |
| 交换分区使用 | 0 | > 0 | > 50% | free -h |
通过以上详细的命令解释,你应该能够:
理解每个监控命令的输出含义
识别系统瓶颈的关键指标
快速判断系统是否正常
准确定位性能问题的根源
建议定期运行这些命令,了解系统的正常基线,这样当问题发生时,可以快速识别异常。
网硕互联帮助中心




评论前必须登录!
注册