Herramienta de análisis de rendimiento para Linux permite monitorear y analizar métricas de rendimiento tanto a nivel de hardware, contadores de CPU, caché, etc. como de software, eventos del kernel, trazas, etc. útil para identificar cuellos de botella, optimizar aplicaciones y diagnosticar problemas de rendimiento.
# sysctl -w kernel.perf_event_paranoid=1
# perf list
# perf stat gcc hello.c
# perf stat -e cycles,instructions,cache-misses gcc hello.c
# perf stat -e cache-misses,cache-references python script.py
# perf top
# perf top --pid 1234
# perf record -F 1000 -a -g -- sleep 60
# perf report
# perf --list-cmds
# perf --list-opts
# perf script
1.-
Para monitorear una función específica del kernel, como tcp_sendmsg:
# perf probe --add tcp_sendmsg
# perf record -e probe:tcp_sendmsg -a -- sleep 5
# perf probe --del tcp_sendmsg
# perf report
Esto registra las llamadas a la función tcp_sendmsg durante 5 segundos y muestra un reporte detallado.