关于性能,我有以下问题。
a)是否有可能同时在不同的内核上运行不同的配置文件模式。例如内核0具有基于事件的采样(每N个事件采样),而内核1具有基于自由运行的计数器的采样?
b)如果a)不可能。那么是否有可能为核心0上的每个样本(N个事件上的溢出)获取其他核心(核心1)上PMU计数器的快照?]
P.S:该平台是基于Arm Cortex A53的RPi 3b +
可以同时在CPU的不同内核上运行不同的配置文件模式。
perf
还具有处理器范围的模式,其中监视在指定处理器上运行的所有线程。因此,每个CPU /内核都会汇总计数和样本。
-C, --cpu=
Count only on the list of CPUs provided. Multiple CPUs can be
provided as a comma-separated list with no space: 0,1. Ranges of
CPUs are specified with -: 0-2. In per-thread mode, this option
is ignored. The -a option is still necessary to activate
system-wide monitoring. Default is to count on all CPUs.
[同时运行自由运行计数器和perf
的采样机制,可以在CPU的不同内核上进行,如下所示-
例如对于cpu 0:
perf stat --cpu 0 -B dd if=/dev/zero of=/dev/null count=1000000
对于cpu 1:
perf record --cpu 1 sleep 20