Parece que o atual perf não é compatível com a saída do estilo Sar. No entanto, uma emulação muito próxima é possível com a ajuda do comando watch.
Para coletar contadores periodicamente para todo o sistema, use a opção '-a'. Abaixo está um exemplo de relatórios dos contadores gerais de desempenho de hardware para cada 60 segundos
watch -n 60 sudo perf stat -a sleep 60
Dá a saída como
Every 10.0s: sudo perf stat -a sleep 10 Wed May 11 11:19:36 2011
Performance counter stats for 'sleep 10':
19956.091380 task-clock-msecs # 1.995 CPUs
26802 context-switches # 0.001 M/sec
1871 CPU-migrations # 0.000 M/sec
951 page-faults # 0.000 M/sec
4582605668 cycles # 229.634 M/sec (scaled from 69.93%)
1993617795 instructions # 0.435 IPC (scaled from 81.07%)
374028141 branches # 18.743 M/sec (scaled from 81.34%)
19071123 branch-misses # 5.099 % (scaled from 79.77%)
100724660 cache-references # 5.047 M/sec (scaled from 18.66%)
5461106 cache-misses # 0.274 M/sec (scaled from 20.23%)
10.001116547 seconds time elapsed
O uso do comando sleep é um pouco intuitivo à primeira vista. Aqui o perf stat NÃO irá coletar contadores específicos para o comando sleep, ao invés disso, o comando sleep simplesmente age como uma maneira de dizer ao stat perf a duração da coleção (eu percebo que a partir do exemplo no perf wiki ) Nota para coletar contadores do sistema, é necessário privilégio administrativo, portanto o sudo antes do status de desempenho é necessário.
Se você simplesmente precisar coletar contadores específicos para um processo em execução (por exemplo, com pid 2785), um comando de amostra é
watch -n 60 perf stat -p 2785 sleep 60
Note que desta vez, o sudo NÃO é necessário.