我试图了解“perf”输出中“cycles”事件的多路复用和缩放。
以下是 perf 工具的输出:
144094.487583 task-clock (msec) # 1.017 CPUs utilized
539912613776 instructions # 1.09 insn per cycle (83.42%)
496622866196 cycles # 3.447 GHz (83.48%)
340952514 cache-misses # 10.354 % of all cache refs (83.32%)
3292972064 cache-references # 22.854 M/sec (83.26%)
144081.898558 cpu-clock (msec) # 1.017 CPUs utilized
4189372 page-faults # 0.029 M/sec
0 major-faults # 0.000 K/sec
4189372 minor-faults # 0.029 M/sec
8614431755 L1-dcache-load-misses # 5.52% of all L1-dcache hits (83.28%)
156079653667 L1-dcache-loads # 1083.223 M/sec (66.77%)
141.622640316 seconds time elapsed
我了解内核使用多路复用来为每个事件提供访问硬件的机会;因此最终输出是估计值。
“周期”事件显示 (83.48%)。我想了解这个数字是如何得出的?
我在 Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz 上运行“perf”。