gperftools分析ffmpeg的结果
CPU使用分析
堆内存使用分析
编译ffmpeg,链接gperftool库
这里需要先编译安装好gperftools,然后修改一下ffmpeg编译时的参数
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" ./configure --enable-libx264 --enable-gpl --extra-ldflags=-lprofiler --extra-ldflags=-ltcmalloc --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --disable-stripping
make
make install
设置以下两个环境变量,指定输出profile数据
export HEAPPROFILE=/root/prof/heapprof.out
export CPUPROFILE=/root/prof/prof.out
设置好上面两个环境变量后,就可以运行ffmpeg处理视频,然后就会生成ffmpeg的性能分析文件
解析性能分析文件
pprof --dot /usr/local/bin/ffmpeg heapprof.out.0001.heap > heapprof_0001.dot
pprof --dot /usr/local/bin/ffmpeg heapprof.out.0002.heap > heapprof_0002.dot
pprof --dot /usr/local/bin/ffmpeg heapprof.out.0003.heap > heapprof_0003.dot
pprof --dot /usr/local/bin/ffmpeg prof.out > cpu_pprof.dot
生成svg图
dot -Tsvg -o cpu.svg cpu_pprof.dot
生成开始的svg图