在 Linux 下监控进程性能,可以从命令行工具、系统机制、可视化方案三个层面来做。下面按“从简到深”给你一个实用指南。
top / htop(CPU、内存、负载)top
htop # 需安装,更友好
关注字段:
%CPU、%MEMRES(物理内存)LOAD AVERAGE✅ 适合:快速看哪个进程吃资源
ps(一次性快照)ps -eo pid,ppid,user,%cpu,%mem,comm --sort=-%cpu | head
常用组合:
pidstat(进程级详细统计)⭐ 强烈推荐pidstat -u -r -d 1
参数说明:
-u:CPU-r:内存-d:磁盘 IO1:每秒刷新✅ 适合:定位 CPU / 内存 / IO 瓶颈
vmstat(系统整体)vmstat 1
看:
us / sy / idsi / so(交换)bi / bo(IO)mpstat -P ALL 1
看每个核心负载是否均衡
free -h
cat /proc/<pid>/status
关键字段:
VmRSS(真实内存)VmSizeiostat -x 1
iotop
看:
iftop
nload
ss -tanp
strace(系统调用)strace -p <pid>
strace -c -p <pid>
看:
read/writeperf(性能分析神器)⭐perf top
perf record -p <pid>
perf report
可看:
/proc 文件系统(程序化监控)/proc/<pid>/stat
/proc/<pid>/statm
/proc/<pid>/io
✅ 适合写监控脚本
sar(历史记录)sar -u 1 3
CPU 高
top → pidstat → perf内存涨
free → pidstat -r → /proc/pid/status卡顿但 CPU 低
iostat / strace(IO 或锁)如果你愿意,可以告诉我:
我可以直接给你一套可落地的方案。