☰
linux性能工具
2026/10/14 20:36:30 网站建设 项目流程

文章目录

  • Linux 性能排查命令速查手册
    • 一、CPU、系统负载、内存
      • 1. `uptime` —— 查看系统负载
      • 2. `top` —— 查看进程和系统实时状态
      • 3. `vmstat` —— 查看系统综合性能
      • 4. `mpstat` —— 查看各 CPU 核心状态
      • 5. `free` —— 查看内存使用情况
      • 6. `ps` —— 查看进程快照
      • 7. `pidstat` —— 查看单个进程的资源消耗
    • 二、磁盘空间与 I/O
      • 8. `iostat` —— 查看磁盘 I/O 性能
      • 9. `iotop` —— 找出产生磁盘 I/O 的进程
      • 10. `df` 和 `du` —— 排查磁盘空间不足
    • 三、网络排查
      • 11. `ss` —— 查看网络连接和监听端口
      • 12. `ip` —— 查看网卡与路由
      • 13. `tcpdump` —— 抓包分析
    • 四、历史监控与深度定位
      • 14. `sar` —— 查看历史性能数据
      • 15. `strace` —— 查看进程系统调用
      • 16. `perf` —— 分析 CPU 性能热点
    • 五、最后记住这张排障表
    • 排查步骤
  • Linux 运维生产故障排查与工具使用手册
    • 一、生产排障总流程
    • 二、故障一:服务器负载突然升高
      • 排查步骤
    • 三、故障二:CPU 使用率达到 100%
      • 排查步骤
      • 生产中重点考虑的原因
    • 四、故障三:内存不足、进程被 OOM Killer 杀死
      • 排查步骤
    • 五、故障四:磁盘空间使用率达到 100%
      • 排查步骤
    • 六、故障五:磁盘 I/O 延迟高,业务响应变慢
      • 排查步骤
    • 七、故障六:端口正常,但业务访问失败
      • 排查步骤
    • 八、故障七:TCP 连接很多,连接建立或请求处理异常
      • 排查步骤
    • 九、故障八:进程存在,但业务没有响应
      • 排查步骤
    • 十、故障九:服务器网络丢包或延迟高
      • 排查步骤
    • 十一、故障十:故障已经恢复,但不知道刚才发生了什么
      • 排查步骤
    • 十二、生产环境操作前的安全检查
    • 十三、建议怎样练习这本手册
      • 实战学习清单

Linux 性能排查命令速查手册

一、CPU、系统负载、内存

1.uptime—— 查看系统负载

命令:

uptime
输出指标含义重点判断
up系统运行时间判断系统运行了多久
users当前登录用户数仅作参考
load average最近 1、5、15 分钟平均负载判断系统负载是否持续偏高

关键参数: 无常用必记参数。

注意: Load Average 不是 CPU 使用率,还包括处于不可中断睡眠状态的任务。需要结合 CPU 核数、top、vmstat判断。

2.top—— 查看进程和系统实时状态

命令:

top top -c top -o %CPU top -o %MEM

关键参数:

参数含义
-c显示完整命令行
-o %CPU按 CPU 使用率排序
-o %MEM按内存使用率排序

重点观察指标:

指标含义重点判断
load average1、5、15 分钟平均负载是否持续高负载
%Cpu(s) us用户态 CPU 使用率应用程序是否消耗较多 CPU
%Cpu(s) sy内核态 CPU 使用率系统调用、内核处理是否偏多
%Cpu(s) waCPU 等待 I/O 的时间比例是否存在 I/O 等待
%Cpu(s) idCPU 空闲比例是否还有 CPU 余量
PID进程 ID定位目标进程
%CPU进程 CPU 使用率找出高 CPU 进程
%MEM进程内存占比找出内存占用高的进程
RES进程实际驻留物理内存判断进程实际占用的物理内存规模
VIRT进程虚拟内存总量不等于实际物理内存占用

交互快捷键:P按 CPU 排序,M按内存排序,1展开各 CPU 核心,q退出。

3.vmstat—— 查看系统综合性能

命令:

vmstat vmstat 1 5 vmstat -w 1 5

关键参数:

参数含义
1每隔 1 秒采样
5共输出 5 次采样
-w宽格式显示,减少字段挤在一起的问题

重点观察指标:

字段含义重点判断
r等待运行或正在运行的任务数持续高于 CPU 核数时,需关注 CPU 竞争
b处于不可中断睡眠的任务数持续偏高需排查 I/O 等等待
swpd已使用的交换空间判断是否使用 Swap
free空闲内存不能单独用来判断内存是否不足
si每秒从 Swap 换入的数据量持续非零需关注内存压力
so每秒换出到 Swap 的数据量持续非零需关注内存压力
bi每秒从块设备读入的数据量观察块设备读取活动
bo每秒写入块设备的数据量观察块设备写入活动
in每秒中断次数异常升高时结合设备和负载分析
cs每秒上下文切换次数过高时关注线程竞争、调度开销
us用户态 CPU 时间比例应用程序消耗
sy内核态 CPU 时间比例内核处理开销
idCPU 空闲时间比例CPU 空闲程度
waI/O 等待时间比例结合磁盘指标排查 I/O 瓶颈
st虚拟机被宿主机抢占的 CPU 时间比例虚拟化环境中关注宿主机资源竞争

注意:第一行通常是自系统启动以来的平均统计,后续行才是采样间隔内的数据。

4.mpstat—— 查看各 CPU 核心状态

命令:

mpstat -P ALL 1 mpstat -P 0 1 5

关键参数:

参数含义
-P ALL显示所有 CPU 核心
-P 0只显示 CPU 0
1每秒采样
5采样 5 次

重点观察指标:

字段含义重点判断
%usr用户态 CPU 使用比例应用程序消耗
%sys内核态 CPU 使用比例内核处理开销
%iowaitCPU 等待 I/O 的比例关注存储 I/O 是否拖慢任务
%idleCPU 空闲比例越低说明 CPU 越忙
%steal虚拟机被宿主机抢占的比例持续偏高需关注宿主机竞争

如果总 CPU 使用率不高,但单个核心很忙,用mpstat -P ALL 1检查是否存在单核瓶颈。

5.free—— 查看内存使用情况

命令:

free -h free -m free -w

关键参数:

参数含义
-h自动选择易读单位,如 MiB、GiB
-m以 MiB 显示
-w分开显示 Buffer 和 Cache(取决于版本支持)

重点观察指标:

字段含义重点判断
total总内存系统物理内存规模
used已使用内存结合缓存和可用内存判断
free完全空闲的内存不应单独作为内存不足的依据
buff/cache缓冲与缓存占用很多情况下可按需回收
available预计无需明显交换即可供应用使用的内存判断内存是否紧张的优先指标
Swap交换空间的总量、使用量和剩余量结合vmstat的si/so判断是否有持续交换活动

6.ps—— 查看进程快照

命令:

ps aux ps aux --sort=-%cpu ps aux --sort=-%mem ps -ef

关键参数:

参数含义
auxBSD 风格显示全部用户的进程信息
-ef显示完整进程列表及父进程信息
--sort=-%cpu按 CPU 使用率降序排列
--sort=-%mem按内存使用率降序排列

重点观察指标:

字段含义
PID进程 ID

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询