linux性能诊断-perf

今天简单分享下perf工具的使用吧。

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 
复制代码

最后根据查看消耗指令,综合分析, 排查系统瓶颈。

更多精彩内容关注:

猜你喜欢

转载自juejin.im/post/5c83c07b6fb9a04a01652438