Esta sección hace principalmente una breve introducción al rendimiento de Linux, desde la perspectiva de qué es, para qué se puede utilizar y la perspectiva de su uso, como cuña para el reconocimiento inicial del rendimiento de Linux.
@autor: Mercurio_Lc
Linux perf (perfilador de rendimiento) es una poderosa herramienta de análisis de rendimiento que se utiliza para ayudar a los desarrolladores a diagnosticar, ajustar y monitorear problemas de rendimiento de sistemas y aplicaciones Linux . Implementa una variedad de métodos de recopilación de datos basados en contadores de rendimiento de hardware (contadores de rendimiento de hardware), puntos de seguimiento y mediciones de software para analizar diversos fenómenos en el sistema. La herramienta perf está integrada en el kernel de Linux, principalmente a través del subsistema perf_event.
Los contadores de rendimiento son registros de hardware de la CPU que cuentan eventos de hardware, como instrucciones ejecutadas, errores de caché o ramas mal previstas. Forman la base para analizar aplicaciones para rastrear el flujo de control dinámico e identificar puntos calientes. perf proporciona una rica abstracción de propósito general sobre funciones específicas de hardware.
En general, perf puede analizar el rendimiento del sistema en diferentes niveles, incluidos recursos como CPU, memoria, E/S y bloqueos. Puede utilizar perf para diversas tareas, como crear perfiles de aplicaciones, ver eventos de hardware (como errores de caché, predicciones erróneas de ramas, etc.) y llamadas al sistema, rastrear eventos del kernel y del espacio del usuario, y generar informes de rendimiento, etc.
perf proporciona una variedad de subcomandos para satisfacer diferentes necesidades de análisis de rendimiento, como por ejemplo:
● estadística de rendimiento: recopila y muestra estadísticas del contador de rendimiento durante la ejecución.
● registro de rendimiento: registra información de muestra de eventos.
● informe de rendimiento: genera un informe de rendimiento basado en los datos registrados en el registro de rendimiento.
● perf annotate: anota y analiza archivos binarios.
● perf top: visualización en tiempo real de la actividad del sistema y sus datos de contador de rendimiento.
● seguimiento de rendimiento: recopila, analiza, muestra o procesa datos de seguimiento de rendimiento del kernel y del espacio de usuario.
● banco de rendimiento: ejecute varios puntos de referencia integrados.
Lo anterior se puede obtener mediante perf -h después de instalar perf:
[root ~]# perf -h
usage: perf [--version] [--help] [OPTIONS] COMMAND [ARGS]
The most commonly used perf commands are:
annotate Read perf.data (created by perf record) and display annotated code
archive Create archive with object files with build-ids found in perf.data file
bench General framework for benchmark suites
buildid-cache Manage build-id cache.
buildid-list List the buildids in a perf.data file
c2c Shared Data C2C/HITM Analyzer.
config Get and set variables in a configuration file.
data Data file related processing
diff Read perf.data files and display the differential profile
evlist List the event names in a perf.data file
ftrace simple wrapper for kernel's ftrace functionality
inject Filter to augment the events stream with additional information
kallsyms Searches running kernel for symbols
kmem Tool to trace/measure kernel memory properties
kvm Tool to trace/measure kvm guest os
list List all symbolic event types
lock Analyze lock events
mem Profile memory accesses
record Run a command and record its profile into perf.data
report Read perf.data (created by perf record) and display the profile
sched Tool to trace/measure scheduler properties (latencies)
script Read perf.data (created by perf record) and display trace output
stat Run a command and gather performance counter statistics
test Runs sanity tests.
timechart Tool to visualize total system behavior during a workload
top System profiling tool.
version display the version of perf binary
probe Define new dynamic tracepoints
trace strace inspired tool
See 'perf help COMMAND' for more information on a specific command.
Cabe señalar que antes de usar perf, debe asegurarse de que el kernel del sistema admita el subsistema perf_event. Cuando se utiliza el comando perf, normalmente es necesario tener autoridad de root o pertenecer a un grupo de usuarios específico (como: perf-users).
En resumen, el rendimiento de Linux es una potente herramienta de análisis de rendimiento que puede ayudar a los desarrolladores a localizar problemas de rendimiento, optimizar el rendimiento del sistema y mejorar la eficiencia operativa del sistema y las aplicaciones.
Árbitro
https://perf.wiki.kernel.org/index.php/Main_Page