estou usando a ferramenta Linux Perf para monitorar determinados eventos para minhas execuções de benchmarking. No argumento da lista de eventos -e, adicionei ciclos-t e ciclos-ct, pois desejo capturá-los. Mas os dois sempre retornam 0 quando eu executo o perf.
Estou usando o seguinte comando, por exemplo:
perf stat -e cycles-ct dd if=/dev/zero of=/dev/numm count=10000
e esta é a saída
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
Alguma ideia sobre isso? Preciso obter valores de cpu / cycles-ct. (Eu estou no Fedora 20. Tentei atualizar o utilitário perf, isso não resolveu o meu problema.)
Além disso, se eu executar este comando
perf stat -T -a sleep 1
Eu recebo a saída da seguinte forma:
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
Tags fedora perf perf-event