Los contadores de rendimiento para Linux son un nuevo subsistema basado en kernel que proporciona un marco para todo el análisis de rendimiento de las cosas. Cubre también las funciones de nivel de hardware (CPU/PMU, Unidad de monitorización de rendimiento) y de software (contadores de software, puntos de seguimiento). Desde 2.6.33, el kernel proporciona la API del kernel 'perf_event_create_kernel_counter' para que los desarrolladores creen un contador de kernel para recopilar información del tiempo de ejecución del sistema. Lo que más me preocupa es el impacto en el rendimiento del sistema general cuando se habilita tracepoint/ftrace. No hay documentos que pueda encontrar sobre ellos. Una vez me dijeron que Ftrace se implementó mediante el parche de código de forma dinámica, ¿ralentizará el sistema de forma espectacular?Performance Overhead of Perf Event Subsystem en Linux Kernel
Respuesta
Esas cosas se ponen porque la gente piensa que pueden ser útiles, y sin duda pueden recopilar información interesante. Si ese es el objetivo, bien.
Sin embargo, si el objetivo es software de ajuste para un mayor rendimiento, son de poco valor de diagnóstico.
Pueden proporcionar medidas interesantes, pero no dicen que decir.
Bueno, mi objetivo es ejecutar perfiles a largo plazo en las máquinas de producción, por lo que los gastos generales de rendimiento me preocupan más. –
@Bo: Creo que, para el control a largo plazo de la salud, es posible que no necesite información recopilada a alta frecuencia, que sería más una cuestión de tiempo general. Si tiene algo que está recopilando información con tanta frecuencia que podría afectar el rendimiento, creo que sería mucho más información de la que podría tener sentido. Por lo general, las personas hacen "instrumentación" (y les preocupa la sobrecarga) para tratar de encontrar "cuellos de botella" (para lo cual no es un buen método). –
parches dinámico se utiliza como una manera de minimizar la sobrecarga cuando no se activa el rastreo. La sobrecarga de los contadores de hardware basados en PMU debe depender de cuántos eventos diferentes muestree y con qué frecuencia. Es probable que sea lo suficientemente bajo para que pueda encontrar una configuración aceptable, según lo que desee. Intentaría habilitar cualquier colección de información que le interese, configure cuidadosamente la frecuencia y luego compruebe empíricamente si la sobrecarga es aceptable.
- 1. Linux/perl mmap performance
- 2. ¿Qué significan los eventos de perf cache?
- 3. Linux kernel aio funcionalidad
- 4. PHP Framework Overhead
- 5. stdlib.h alternativa en kernel Linux?
- 6. Linux Kernel coding style
- 7. diferencia entre Console (/ SUBSYSTEM: CONSOLE) y Windows (/ SUBSYSTEM: WINDOWS)
- 8. Linux Kernel Invalidating TLB Entries
- 9. desarrollo del kernel de Linux
- 10. módulo del kernel Linux compilar
- 11. kernel stack for linux process
- 12. Programación del kernel de Linux
- 13. Array.prototype vs [] perf
- 14. prio, static_prio, rt_priority en Linux Kernel
- 15. Makefile para el módulo kernel de Linux?
- 16. WPF Encuadernación Overhead
- 17. Minimizar vector indexación overhead
- 18. Efectos de cambiar entre/SUBSYSTEM: CONSOLE a/SUBSYSTEM: WINDOWS en una DLL
- 19. Streaming DMA en el controlador de kernel PCIE Linux
- 20. Linux Kernel: copy_from_user - struct con punteros
- 21. Linux Kernel Memory Management Paging Levels
- 22. Organización de los encabezados kernel de Linux
- 23. Entorno virtual para Linux Kernel Hacking
- 24. ¿Impresiones de depuración del kernel de Linux?
- 25. técnicas de depuración actual Linux Kernel
- 26. Linux Kernel Modules: Cuándo usar try_module_get/module_put
- 27. Quiero contribuir con el kernel de Linux
- 28. Símbolo exportado del kernel de Linux
- 29. Cómo codificar un módulo kernel de Linux?
- 30. compilando kernel de Linux con no-gcc
perf debe tener el menor impacto posible, cuánto depende de lo que haga con él – Spudd86