【发布时间】:2014-05-07 22:08:03
【问题描述】:
运行perf stat ls 显示:
Performance counter stats for 'ls':
1.388670 task-clock # 0.067 CPUs utilized
2 context-switches # 0.001 M/sec
0 cpu-migrations # 0.000 K/sec
266 page-faults # 0.192 M/sec
3515391 cycles # 2.531 GHz
2096636 stalled-cycles-frontend # 59.64% frontend cycles idle
<not supported> stalled-cycles-backend
2927468 instructions # 0.83 insns per cycle
# 0.72 stalled cycles per insn
615636 branches # 443.328 M/sec
22172 branch-misses # 3.60% of all branches
0.020657192 seconds time elapsed
为什么 stalled-cycles-backend 显示为“不支持”?我需要什么样的 CPU、硬件、内核或用户空间软件才能看到这个值?
目前在不同的 Intel Core i5 和 i7 系统(Ivy Bridge 类型)上使用 Linux 3.12 for x86_64 和匹配的perf 版本在 RHEL 上进行了此尝试。他们都不支持stalled-cycles-backend。
更多信息:
$ perf list | grep stalled
stalled-cycles-frontend OR idle-cycles-frontend [Hardware event]
stalled-cycles-frontend OR cpu/stalled-cycles-frontend/ [Kernel PMU event]
$ ls /sys/devices/cpu/events/
branch-instructions bus-cycles cache-references instructions mem-stores
branch-misses cache-misses cpu-cycles mem-loads stalled-cycles-frontend
$ cat /sys/bus/event_source/devices/cpu/events/stalled-cycles-frontend
event=0x0e,umask=0x01,inv,cmask=0x01
编辑: 刚刚在带有 Linux 3.2(32 位)的 Ubuntu 12.04 下的 AMD Phenom II X6 1045T CPU 上进行了尝试 - 这里确实显示了两个 stalled-cycles-frontend 的值 和 stalled-cycles-backend。
【问题讨论】:
标签: linux performance cpu perf