我如何使用perf获取多处理器计算机中的每个cpu消息?

时间:2012-12-12 12:48:37

标签: linux multiprocessing perf

我的工作是使用perf测量mutilprocessor计算机中的每个节点(例如4个核心)。包括缓存未命中,LLC负载,LLC负载未命中,LLC存储,LLC存储未命中等等,我只获得总统计数据。

有没有办法区分它们?

1 个答案:

答案 0 :(得分:0)

根据您的perf版本,您可以使用-a-C个开关的组合。

来自kernel.org's perf wiki

  

演示机器只有两个CPU,但我们可以限制为CPU 1。

   perf stat -B -e cycles:u,instructions:u -a -C 1 sleep 5

    Performance counter stats for 'sleep 5':

    301,141,166 cycles
    225,595,284 instructions             #      0.749 IPC

    5.002125198  seconds time elapsed

所以,如果你有4个处理器,你可以这样做:

perf stat -B -e cycles:u,instructions:u -a -C 0 sleep 5
perf stat -B -e cycles:u,instructions:u -a -C 1 sleep 5
perf stat -B -e cycles:u,instructions:u -a -C 2 sleep 5
perf stat -B -e cycles:u,instructions:u -a -C 3 sleep 5