实例展示 linux性能分析

小结
top:
- us:user space占用
- sy:system 系统占用
- id:cpu空闲
vmstat 1:
每一秒中获取系统状态信息
r(cpu process) b swpd free buff cache si so bi bo in cs us(用户占用) sy(系统占用) id(空闲) wa(等待IO) st(抢占)
- r值小于cpu数和说明非满载,大于cpu数代表存在进程会等待cpu时间片
- swap为0说明交换空间未启用,内存充足
- id较少说明cpu占用很高
mpstat -P ALL 1:
查看每个cpu的占用情况,用于分析负载均衡
iostat -x 1:
%util列表示磁盘利用率(大于60%时会导致性能下降)
sar -n DEV 1:
查看网络io情况,
pidstat 1:
1秒查询pid状态一次,包含其cpu时间信息
strace -tp `pgrep nvidia-powerd` 2>&1 | head -100:
查询进程系统调用是否有异常
perf record -F 99 -a -g -- sleep 10:
在所有cpu上以99hz(避免与特定频率工作的程序冲突)的频率记录调用,记录10秒
perf report -n 查看perf报告
注:部分命令需要root权限,看到权限相关错误都可以在指令前加sudo解决