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
複製代碼

一段時間後函數

# 查看記錄
perf report
複製代碼

經過分析能夠看到在哪些地方佔用了更多的cpu,咱們看到有個pow_function, 能夠回車進入看到具體的執行指令工具

實時的觀測

咱們還能夠使用相似top的指令用法性能

# 全局性能觀測
perf top

# 監控某個進程
perf top -p 327
複製代碼

咱們還能夠

# 根據comms限定範圍
perf top --comms nginx,php
複製代碼

可能並非一個進程在提供服務,若是須要所有分析的話能夠利用,分隔測試

perf top -p 23015,32476 
複製代碼

最後根據查看消耗指令,綜合分析, 排查系統瓶頸。spa

更多精彩內容關注:3d

相關文章
相關標籤/搜索