一、gperftools
1、gperftools安装
docker下需要安装gperftools、ghostscript、graphviz
gperftools:
# 从github下载gperftools源码并解压
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.9.1/gperftools-2.9.1.tar.gz
tar -xvf gperftools-2.9.1.tar.gz
cd gperftools-2.9.1
# 编译
./configure
make -j8
# 安装到系统文件夹
sudo make install
ghostscript:
sudo apt install ghostscript
#或者编译安装
地址:
https://ghostscript.com/releases/gsdnld.html 或
https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/
tar -zxvf ghostscript-9.55.0.tar.gz(根据自己下载版本来定)
cd ghostscript-9.55.0
./configure --prefix=/usr/local/ghostscript
mkdir obj
mkdir bin
make all
make install
make so
2.配置环境变量
vi /etc/profile
写入 export PATH=$PATH:/usr/local/ghostscript/bin
3.查看是否安装成功
gs -v
2、性能分析
gperftools有text和pdf两种输出方式。具体分析如下:
通过cmake进行修改编译。在链接的时候增加对profiler库的链接
target_link_libraries(${PROJECT_NAME}
profiler
xxxxx
)
在代码中添加头文件和ProfilerStart()、ProfilerStop()
txt
二、perf
1、perf安装
# 下载linux-tools-common
sudo apt-get install linux-tools-common
#查看是否存在perf
perf --version
#如果不存在,可以下载特定的内核版本下的tools,根据命令行的提示,我的命令是, 这个命令需要下载特定内核版本的工具, 命令 uname -r 查看内核版本
sudo apt-get install linux-tools-5.4.0-122-generic
#再检查一下
perf --version
perf version 5.4.192
安装过程中可能会出现一下报错
WARNING: perf not found for kernel 4.15.0-39
You may need to install the following packages for this specific kernel:
linux-tools-4.15.0-39-generic
linux-cloud-tools-4.15.0-39-generic
You may also want to install one of the following packages to keep up to date:
linux-tools-generic
linux-cloud-tools-generic
首先,根据提示安装相关package即可
如果无法找到相关package,可通过下面方法解决
#其实perf已经内置在linux-tools-generic里面,所以安装后创建perf软链接即可
sudo apt install linux-tools-generic
sudo ln -s ln -s /usr/lib/linux-tools/4.15.0-162-generic/perf /usr/bin/perf
#其中4.15.0-162-generic字段酌情替换
2、编译代码
根据自己的代码酌情编译即可
3、perf分析
#具体指令可百度
#1、record生成perf.data文件 perf record -g demo
#2、report分析相关perf.data文件 perf reprot -g
3、其他分析工具
3.1 gprof
编译的时候使用-pg,通过使用一个gprof2dot.py输出一个与gperftools类似的pdf
3.2 火焰图
工具:git clone https://github.com/brendangregg/FlameGraph.git,操作方式与gperftools类似。