perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找。
1. 启动docker系统
docker run -dt --privileged=true -p 3333:22 -p 80:80 -v /Users/wenba/Desktop/project:/data -v /Users/wenba/Desktop/docker/nginx:/usr/server/openresty/nginx/conf/vhost --name mydocker 933bdb63c863 /usr/local/sbin/run.sh
启动docker测试时,记得使用 --privileged=true 允许超级权限模式
2. 安装perf
yum install perf
复制代码
3. perf几个常用命令
# 统计全局性能
perf record -g
复制代码
一段时间后
# 查看记录
perf report
复制代码
查看某个进程的异常问题
# 查看进程ID
ps aux|grep index.php
# 查看记录
perf record -p 276
复制代码
一段时间后
# 查看记录
perf report
复制代码
通过分析可以看到在哪些地方占用了更多的cpu,我们看到有个pow_function, 可以回车进入看到具体的执行指令
实时的观测
我们还可以使用类似top的指令用法
# 全局性能观测
perf top
# 监控某个进程
perf top -p 327
复制代码
我们还可以
# 根据comms限定范围
perf top --comms nginx,php
复制代码
可能并不是一个进程在提供服务,如果需要全部分析的话可以利用,分隔
perf top -p 23015,32476
复制代码
最后根据查看消耗指令,综合分析, 排查系统瓶颈。
更多精彩内容关注: