日常运维和开发中,经常需要快速定位服务器性能瓶颈。这篇文章整理了最实用的 Linux 性能排查命令,按场景分类,方便随时查阅。
# 查看整体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统计(每秒刷新)
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遇到服务器变慢时,建议按这个顺序排查:
掌握这些命令,基本能覆盖90%的线上性能问题排查场景。关键是形成自己的排查习惯,从宏观到微观,逐步缩小范围。
✸ ✸ ✸
📜 版权声明
本文作者:王梓 | 原文链接:https://www.bthlt.com/note/14551269-LinuxLinux性能排查常用命令速查
出处:葫芦的运维日志 | 转载请注明出处并保留原文链接
作者:王梓 | 葫芦的运维日志
原文链接:https://www.bthlt.com/note/14551269
转载请注明出处