linux Linux性能排查常用命令速查

葫芦的运维日志

浏览量 11 2024/02/25 16:00

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

六、实用排查流程

遇到服务器变慢时,建议按这个顺序排查:

  1. uptime - 先看负载,了解整体压力
  2. dmesg | tail - 看内核是否有OOM等异常
  3. vmstat 1 - 看CPU、内存、IO整体情况
  4. top - 定位具体是哪个进程
  5. iostat -xz 1 - 如果IO高,看磁盘瓶颈
  6. ss -tnp - 如果网络相关,看连接状态

掌握这些命令,基本能覆盖90%的线上性能问题排查场景。关键是形成自己的排查习惯,从宏观到微观,逐步缩小范围。

葫芦的运维日志

打赏

留言板

留言提交后需管理员审核通过才会显示

© 冰糖葫芦甜(bthlt.com) 2025 王梓打赏联系方式陕ICP备17005322号-1