我在ubuntu 12.04上使用perf工具来分析hadoop 2.4.1 map/reduce作业的系统级性能:
perf record -ag -F 100 sleep 60
Run Code Online (Sandbox Code Playgroud)
我的目标是确定哪些进程/例程正在使用cpu并确定优化候选者.
内核符号被正确解码,但java代码不是.Perf报告看起来像:
Samples: 39K of event 'cycles', Event count (approx.): 11326629675790000f9f0 â
+ 10.64% java perf-9201.map [.] 0x00007eff6c188127
+ 10.57% java perf-8988.map [.] 0x00007f71ac7b9a29
+ 9.91% java perf-9077.map [.] 0x00007fa9e92073e0
+ 9.77% java perf-9025.map [.] 0x00007f849cdf41a9
+ 9.26% java perf-8747.map [.] 0x00007f078c6bda82
+ 7.85% java perf-31343.map [.] 0x00007f6671041cb4
+ 5.81% java perf-8835.map [.] 0x00007f5df0d5afc4
+ 5.78% java liblzo2.so.2.0.0 [.] lzo1x_decompress
+ 2.61% java [kernel.kallsyms] [k] copy_user_generic_string
+ 1.58% java …Run Code Online (Sandbox Code Playgroud)