Perf命令使用收集
Contents
安装
sudo apt-get update && sudo apt-get install linux-tools-common linux-tools-`uname -r` linux-cloud-tools-`uname -r` linux-tools-generic linux-cloud-tools-generic -y
例子
列出所有支持事件
sudo perf list
查看某进程 CPU 消耗原因
比如排查 redis
# 实时
sudo perf top -p 进程PID
# 记录
sudo perf record -F 99 -p 进程PID --call-graph dwarf sleep 10
记录所有
# 记录 30 秒某进程的性能统计
timeout 30 sudo perf record -p 进程PID
# 查看报告
sudo perf report
计数统计
# 只收集 5 秒
sudo perf stat -p 进程PID sleep 5
跟踪调度器事件
# 只跟踪 10 秒
sudo perf stat -e "sched:*" -p 进程PID sleep 10
上下文切换
sudo perf stat -e "context-switches" -p 进程PID sleep 10
内核
查看内核是否开启 perf
cat "/boot/config-`uname -r`" | grep "PERF_EVENT"