Linux性能排查常用命令速查
日常运维和开发中,经常需要快速定位服务器性能瓶颈。这篇文章整理了最实用的 Linux 性能排查命令,按场景分类,方便随时查阅。
一、CPU 相关
# 查看整体CPU使用率(每2秒刷新)
top -d 2
# 查看每个CPU核心的使用情况
mpstat -P ALL 1
# 查看进程级别CPU消耗(按CPU排序)
ps aux --sort=-%cpu | head -20
# 查看系统平均负载
uptime
# 追踪高CPU进程的系统调用
strace -cp <PID>
# perf 分析CPU热点函数
perf top -p <PID>
二、内存相关
# 查看内存整体使用(人类可读格式)
free -h
# 查看内存详细信息
cat /proc/meminfo
# 按内存排序查看进程
ps aux --sort=-%mem | head -20
# 查看某进程的内存映射
pmap -x <PID>
# 清理缓存(谨慎使用)
echo 3 > /proc/sys/vm/drop_caches
三、磁盘IO
# 查看磁盘IO统计(每秒刷新)
iostat -xz 1
# 查看哪些进程在做IO
iotop -oP
# 查看磁盘使用率
df -h
# 查看目录大小
du -sh /var/log/*
# 查找大文件(大于100M)
find / -type f -size +100M -exec ls -lh {} ;
四、网络相关
# 查看网络连接状态统计
ss -s
# 查看所有TCP连接
ss -tnp
# 查看TIME_WAIT连接数
ss -tan | grep TIME-WAIT | wc -l
# 查看网络流量(需安装iftop)
iftop -nNP
# 抓包分析
tcpdump -i eth0 -nn port 80 -c 100
# 查看网络接口统计
sar -n DEV 1 5
五、综合排查工具
# dstat - 一站式系统资源统计
dstat -cdngy 1
# vmstat - 虚拟内存统计
vmstat 1 10
# sar - 系统活动报告(查看历史数据)
sar -u -f /var/log/sa/sa25
# nmon - 交互式性能监控
nmon
六、实用排查流程
遇到服务器变慢时,建议按这个顺序排查:
- uptime - 先看负载,了解整体压力
- dmesg | tail - 看内核是否有OOM等异常
- vmstat 1 - 看CPU、内存、IO整体情况
- top - 定位具体是哪个进程
- iostat -xz 1 - 如果IO高,看磁盘瓶颈
- ss -tnp - 如果网络相关,看连接状态
掌握这些命令,基本能覆盖90%的线上性能问题排查场景。关键是形成自己的排查习惯,从宏观到微观,逐步缩小范围。
留言板
留言提交后需管理员审核通过才会显示