perf (Linux)

[3] Userspace controlling utility, named perf, is accessed from the command line and provides a number of subcommands; it is capable of statistical profiling of the entire system (both kernel and userland code).

[4] In 2012, two IBM engineers recognized perf (along with OProfile) as one of the two most commonly used performance counter profiling tools on Linux.

[5] The interface between the perf utility and the kernel consists of only one syscall and is done via a file descriptor and a mapped memory region.

[6] Unlike LTTng or older versions of oprofile, no service daemons are needed, as most functionality is integrated into the kernel.

[6] As of 2010[update], architectures that provide support for hardware counters include x86, PowerPC64, UltraSPARC (III and IV), ARM (v5, v6, v7, Cortex-A8 and -A9), Alpha EV56 and SuperH.