linux性能诊断-perf

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

perf是Linux下的一款性能分析工具,可以进行函数级与指令级的热点查找。php

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.shnginx

启动docker测试时,记得使用 --privileged=true 容许超级权限模式docker

2. 安装perf

yum install perf
复制代码

3. perf几个经常使用命令

# 统计全局性能
perf record -g
复制代码

一段时间后bash

# 查看记录
perf report
复制代码

查看某个进程的异常问题

# 查看进程ID
ps aux|grep index.php
# 查看记录
perf record -p 276
复制代码

一段时间后markdown

# 查看记录
perf report
复制代码

经过分析能够看到在哪些地方占用了更多的cpu,咱们看到有个pow_function, 能够回车进入看到具体的执行指令函数

实时的观测

咱们还能够使用相似top的指令用法工具

# 全局性能观测
perf top

# 监控某个进程
perf top -p 327
复制代码

咱们还能够

# 根据comms限定范围
perf top --comms nginx,php
复制代码

可能并非一个进程在提供服务,若是须要所有分析的话能够利用,分隔性能

perf top -p 23015,32476 
复制代码

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

更多精彩内容关注:spa

相关文章
相关标签/搜索