저는 벤치마크 실행에서 특정 이벤트를 모니터링하기 위해 Linux Perf 도구를 사용하고 있습니다. 이벤트 목록 매개변수 -e에서 캡처를 원하기 때문에 Cycles-t 및 Cycles-ct를 추가했습니다. 하지만 perf를 실행하면 항상 0이 반환됩니다.
예를 들어 다음 명령을 사용하고 있습니다.
perf stat -e cycles-ct dd if=/dev/zero of=/dev/numm count=10000
이것이 출력이다
10000+0 records in
10000+0 records out
5120000 bytes (5.1 MB) copied, 0.0318331 s, 161 MB/s
Performance counter stats for 'dd if=/dev/zero of=/dev/numm count=10000':
31,957,327 cycles-ct
0 cpu/cycles-ct/
0.035254063 seconds time elapsed
이것에 대한 생각이 있나요? CPU/cycles-ct 값을 가져와야 합니다. (저는 Fedora 20을 사용하고 있습니다. perf 유틸리티를 업데이트하려고 시도했지만 문제가 해결되지 않았습니다.)
또한 이 명령을 실행하면
perf stat -T -a sleep 1
내가 얻는 결과는 다음과 같습니다.
Performance counter stats for 'system wide':
8022.927913 task-clock (msec) # 8.011 CPUs utilized
104842699 instructions # 0.87 insns per cycle [100.00%]
120099715 cycles # 0.015 GHz [100.00%]
162615 cpu/cycles-t/ # 0.14% transactional cycles [100.00%]
773 cpu/tx-start/ # 210 cycles / transaction [100.00%]
0 cpu/el-start/ # 0.000 K/sec [100.00%]
111864 cpu/cycles-ct/ # 0.04% aborted cycles
1.001474976 seconds time elapsed