Linux 前后端项目问题排查命令手册
一、系统资源监控类命令
1. CPU 资源排查
top - 动态实时监控进程
top [选项]
常用选项:
-d 2 # 每2秒刷新一次
-H # 显示线程信息
-p 1234 # 仅监控PID为1234的进程
输出解读:
- %Cpu(s):总 CPU 使用率,用户态 + 内核态
- KiB Mem:内存使用情况,重点关注used和free
- 进程列表字段:PID(进程 ID)、USER(用户)、%CPU(CPU 占用率)、%MEM(内存占用率)、COMMAND(进程名称)
htop - 增强版 top(需安装)
htop # 直接运行,支持鼠标操作
快捷键:
F2 # 配置显示字段
F3 # 搜索进程
F9 # 发送信号给进程
vmstat - 虚拟内存统计
vmstat 2 10 # 每2秒采样一次,共10次
重点关注:
procs.r:运行队列中的进程数(理想值<CPU核心数)
swap.si/so:swap空间交换速率(持续>0表示内存不足)
cpu.us/sy/id:用户态/内核态/空闲CPU时间占比
2. 内存资源排查
free - 内存使用情况
free -h # 以人类可读格式显示
参数说明:
total:总内存
used:已使用内存(包含缓存)
free:空闲内存
buff/cache:缓冲区和缓存
available:实际可用内存(重点参考)
jmap(Java 专用) - 内存映射
jmap -heap 1234 # 查看PID为1234的Java进程堆内存信息
jmap -histo:live 1234 | head -n 20 # 显示存活对象直方图(前20行)
3. 磁盘 IO 排查
iostat - 磁盘输入输出统计
iostat -x 2 # 显示扩展信息,每2秒刷新
重点字段:
%util:磁盘利