我有以下关于perf的问题。
a)我是否可以同时在不同的内核上运行不同的分析模式。例如,核心0具有基于事件的采样(每N个事件采样一次)和核心1具有自由运行的基于计数器的采样?
b)在a)不可能的情况下。那么是否有可能获得其他内核(内核1)上的PMU计数器的快照,用于内核0上的每个样本(N个事件时溢出)?
附注:该平台是基于Arm Cortex A53的RPi 3b+
发布于 2019-11-30 14:45:53
可以在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 0:
perf stat --cpu 0 -B dd if=/dev/zero of=/dev/null count=1000000
对于cpu 1:
perf record --cpu 1 sleep 20
https://stackoverflow.com/questions/58971924
复制相似问题