perf工具无法在spark中正确收集jit信息

gudnpqoy  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(434)

我想用perf分析terasort程序。运行以下命令:

  1. perf record -k mono $PID
  2. perf inject -i perf.data --jit -o perf.data.jitted
  3. perf report -i perf.data.jitted

此外,还添加了以下vm参数:

  1. -agentpath:/usr/local/lib64/libperf-yarn-jvmti.so

这就是我从中学到的https://blog.openj9.org/2019/07/18/inspecting-openj9-performance-with-perf-on-linux-jit-compiled-methods/.
在specjbb2015或其他java程序中运行良好,但在terashort spark中遇到这个问题。
有些函数只能看到地址,不能与jitted-$pid.so关联。我确认这些函数是c2生成的jit代码。

  1. Overhead Command Shared Object Symbol
  2. 4.93% Executor task l perf-599505.map [.] 0x0000fffdbd86982c
  3. 4.60% Executor task l perf-599505.map [.] 0x0000fffdbd86984c
  4. 3.57% Executor task l perf-599505.map [.] 0x0000fffdbd838c48
  5. 3.18% Executor task l perf-599505.map [.] 0x0000fffdbd838c34
  6. 2.81% java libjvm.so [.] PSPromotionManager::copy_to_survivor_space<false>
  7. 2.00% Executor task l perf-599505.map [.] 0x0000fffdbdaf9df0
  8. 1.59% Executor task l perf-599505.map [.] 0x0000fffdbd9cbba8
  9. 1.54% Executor task l jitted-599505-22693.so [.] class org.apache.spark.shuffle.sort.ShuffleExternalSorter.writeSortedFile(bool)
  10. 1.36% Executor task l perf-599505.map [.] 0x0000fffdbd688118
  11. 1.13% java [kernel.kallsyms] [k] clear_page
  12. 1.07% java libjvm.so [.] PSPromotionManager::process_array_chunk_work<unsigned int>
  13. 0.98% Executor task l jitted-599505-19295.so [.] class org.apache.hadoop.hdfs.DFSInputStream.read(byte[], int, int)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题