小编use*_*418的帖子

为什么“perf report”在 docker 中使用时在第二次运行时不显示函数名称?

我正在尝试使用 docker 中的 Linux perf 命令来分析 ffmpeg。在第一次运行中,输出很好,“perf report”显示的所有函数名称都很好。在第二次运行中,它仅显示地址而不是函数名称。我正在使用一个在 docker 中运行 ffmpeg 两次的脚本。

脚本中使用的命令是:

perf record ffmpeg -y -i input.mp4 -c:v libx264 -b:v 1500k output1.mp4

sleep 5

perf record ffmpeg -y -i input.mp4 -c:v libx264 -b:v 1500k output1.mp4
Run Code Online (Sandbox Code Playgroud)

运行脚本的命令:

docker run -it --privileged -v $(pwd):/cwd myDocker:someTag /cwd/my_script.sh
Run Code Online (Sandbox Code Playgroud)

我注意到在第二次运行时,它在 perf.data 中找不到 libx264 库。

“perf report”的输出如下所示。非常感谢任何形式的帮助。

输出1:

# Overhead  Command  Shared Object       Symbol
# ........  .......  ..................  .........................................................
#

 6.35%  ffmpeg   libx264.so.148      [.] x264_cabac_block_residual_rd_internal_ssse3_lzcnt
 3.91%  ffmpeg   libx264.so.148      [.] x264_cabac_encode_decision_bmi2
 3.70%  ffmpeg   ffmpeg              [.] …
Run Code Online (Sandbox Code Playgroud)

linux perf docker

5
推荐指数
1
解决办法
1549
查看次数

标签 统计

docker ×1

linux ×1

perf ×1