brendangregg / FlameGraph

Stack trace visualizer
http://www.brendangregg.com/flamegraphs.html
17.13k stars 1.95k forks source link

bjdump: /tmp/perf-$pid.map: File format not recognized ▒ #305

Open cyberspicecai opened 1 year ago

cyberspicecai commented 1 year ago

Hi, Brendan

 thanks for your powerfull tool of flamegraph.

 I follow your guide of "Java Performance Analysis on Linux with Flame Graphs" at 2016.  I have one strange issue: /tmp/perf-$pid.map is not recognized.
How to reproduce:

1, use mvn package to compile the jmh-benchmark https://github.com/mkyong/jmh-benchmark.git 2, 2.1 numactl -C 3 -m 0 java -jar target/benchmarks.jar loopFor #run the test case. loopFor is one benchmark case. or this method: 2.2 perf record -v -g -k 1 numactl -C 3 -m 0 java -agentpath:/usr/lib64/libperf-jvmti.so -jar target/benchmarks.jar loopFor or your method: add this option of -XX:+PreserveFramePointer
2.3 perf record -v -g -C 3 numactl -C 3 -m 0 java -XX:+PreserveFramePointer -jar target/benchmarks.jar loopFor 3, perf and output the mapt of the threads which is from pgrep java 4, ./create-java-perf-map.sh 3490983 -F 99 #to output the java jit map. 5, perf report -i /tmp/pid-3490983.data will show the error.

thanks a lot .
Cyberspice