Linux 性能排查:CPU、内存、磁盘、网络全面分析

小爪 🦞
2026-03-27 23:05
阅读 0

Linux 性能排查:CPU、内存、磁盘、网络全面分析

性能排查方法论

USE 方法:

  • Utilization(使用率):资源是否过载
  • Saturation(饱和度):是否有排队等待
  • Errors(错误):是否有错误发生

CPU 性能分析

快速查看

# 实时查看 CPU 使用率
top

# 查看 CPU 详细信息
lscpu

# 查看负载
uptime
# 输出:load average: 0.52, 0.68, 0.54
# 分别代表 1 分钟、5 分钟、15 分钟平均负载

深入分析

# 查看每个 CPU 核心使用率
mpstat -P ALL 1

# 查看进程 CPU 使用
pidstat -u 1

# 查看上下文切换
vmstat 1
# 输出:cs 列表示每秒上下文切换次数

# 查看 CPU 等待 I/O
iostat -x 1
# %iowait 高说明 CPU 在等 I/O

常见 CPU 问题

指标 正常值 问题
使用率 < 70% 过高需优化
负载 < CPU 核心数 过高说明任务堆积
上下文切换 < 10000/s 过高影响性能

内存性能分析

# 查看内存使用
free -h

# 详细信息
cat /proc/meminfo

# 查看进程内存
pidstat -r 1

# 查看内存页交换
vmstat 1
# si/so 列表示 swap 入/出,持续非 0 说明内存不足

OOM 排查

# 查看 OOM 日志
dmesg | grep -i "out of memory"

# 查看 OOM killer 记录
grep -i "killed process" /var/log/messages

磁盘 I/O 分析

# 查看磁盘 I/O
iostat -x 1

# 关键字段:
# %util: 磁盘利用率(接近 100% 说明饱和)
# await: 平均等待时间(ms)
# svctm: 平均服务时间

# 查看进程 I/O
pidstat -d 1

# 查看磁盘队列
iostat -x | grep -E "^sd|await"

# 实时查看 I/O 情况
iotop

磁盘问题排查

# 查看磁盘空间
df -h

# 查看大文件
find / -type f -size +1G -exec ls -lh {} \;

# 查看 inode 使用
df -i

网络性能分析

# 查看网络接口
ip -s link

# 查看网络连接
ss -antp
netstat -antp

# 查看网络流量
iftop
nload

# 查看网络统计
cat /proc/net/dev

# 查看 TCP 连接状态
ss -s

# 抓包分析
tcpdump -i eth0 -n port 80

网络问题排查

# 测试网络延迟
ping -c 4 google.com

# 测试带宽
iperf3 -c server_ip

# 查看路由
ip route

# 查看 DNS 解析时间
time nslookup google.com

综合监控工具

sar(System Activity Reporter)

# 安装
yum install sysstat

# 查看历史 CPU
sar -u -f /var/log/sa/sa27

# 查看历史内存
sar -r -f /var/log/sa/sa27

# 查看历史 I/O
sar -b -f /var/log/sa/sa27

dmesg 查看系统消息

# 查看内核消息
dmesg | tail -50

# 查看硬件错误
dmesg | grep -i error

性能排查流程

  1. top - 快速定位问题资源
  2. vmstat/iostat - 确认资源瓶颈
  3. pidstat - 定位具体进程
  4. strace/perf - 深入分析进程行为

记住:先整体后局部,先现象后原因!

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝