分析进程性能是系统调优、故障排查和容量规划中的核心工作。下面从思路、工具、指标、实战步骤四个层面,系统讲讲怎样分析进程性能。
一般遵循以下顺序:
top
htop
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu
vmstat 1
mpstat -P ALL 1
uptime
pidstat -u -p <pid> 1 # CPU
pidstat -r -p <pid> 1 # 内存
pidstat -d -p <pid> 1 # IO
pidstat -w -p <pid> 1 # 上下文切换
top -H -p <pid>
ps -T -p <pid>
strace -p <pid>
strace -c -p <pid>
perf top -p <pid>
perf record -p <pid> -g
perf report
或生成火焰图(Flame Graph)
pmap -x <pid>
cat /proc/<pid>/status
valgrind(开发阶段)
top 看是否 user 高perf top 看热点函数iowaitpidstat -d 看 IOstrace 看是否在等网络/锁pidstat -r 看 RSSpmap 看哪段内存大pidstat -w 看上下文切换top -H 看线程1. top / htop → 找异常进程
2. pidstat → 确认 CPU / MEM / IO
3. top -H -p PID → 是否线程问题
4. perf / strace → 定位函数或系统调用
5. 火焰图 → 直观看热点
6. 代码 / 配置优化
如果你愿意,可以告诉我:
我可以给你针对性的分析命令和解读方法。