I contatori delle prestazioni per Linux sono un nuovo sottosistema basato su kernel che fornisce una struttura per tutte le analisi delle prestazioni. Copre anche le caratteristiche del livello hardware (CPU/PMU, Performance Monitoring Unit) e le caratteristiche del software (contatori software, tracepoint). Dal 2.6.33, il kernel fornisce api del kernel 'perf_event_create_kernel_counter' per gli sviluppatori per creare un contatore del kernel per raccogliere le informazioni di runtime del sistema. Quello che mi interessa di più è l'impatto sulle prestazioni sul sistema generale quando viene abilitato tracepoint/ftrace. Non ci sono documenti che posso trovare su di loro. Una volta mi è stato detto che ftrace è stato implementato applicando patch dinamicamente al codice, rallenterà notevolmente il sistema?Sovraccarico delle prestazioni del sottosistema degli eventi di Perf nel kernel Linux
risposta
Queste cose vengono inserite perché le persone pensano che possano essere utili e senza dubbio possono raccogliere informazioni interessanti. Se questo è l'obiettivo, bene.
Tuttavia, se l'obiettivo è quello di ottimizzare il software per prestazioni superiori, sono di poco valore diagnostico.
Possono fornire misure interessanti, ma non lo fanno dirti cosa aggiustare.
Bene, il mio obiettivo è eseguire profili a lungo termine sulle macchine di produzione, quindi il sovraccarico delle prestazioni mi preoccupa di più. –
@Bo: Penserei che, per il monitoraggio a lungo termine della salute, potresti non aver bisogno di informazioni raccolte ad alta frequenza - che sarebbe più una questione di tempo complessivo. Se hai qualcosa che sta raccogliendo informazioni a così alta frequenza che potrebbe influire sulle prestazioni, penserei che sarebbe molto più informazioni di quanto tu possa avere un senso. Di solito le persone fanno "strumentazione" (e sono preoccupate per il sovraccarico) per cercare di trovare "colli di bottiglia" (per i quali non è un buon metodo). –
patch dinamica viene usato come un modo per minimizzare overhead quando la traccia non è attivato. Il sovraccarico dei contatori hardware basati su PMU dovrebbe dipendere dal numero di eventi diversi che si stanno campionando e da quanto spesso. Probabilmente è abbastanza basso per poter trovare una configurazione accettabile, a seconda di ciò che desideri. Vorrei provare a abilitare qualsiasi raccolta di informazioni che ti interessa, impostare con cura la frequenza e quindi verificare empiricamente se il sovraccarico è accettabile.
- 1. Sovraccarico delle prestazioni di AOP
- 2. Miglioramento delle prestazioni del kernel aumentando l'occupazione?
- 3. Organizzazione delle intestazioni del kernel Linux
- 4. Sovraccarico delle prestazioni delle librerie javascript
- 5. su typecheck nel kernel linux
- 6. Cronometraggio nel kernel Linux 2.6
- 7. Qual è la differenza tra il sottosistema del kernel linux dm-crypt ed ecryptfs?
- 8. stdlib.h alternativa nel kernel di Linux?
- 9. Profili di prestazioni su Linux
- 10. Stile di codifica del kernel Linux
- 11. Cosa significa __init nel codice del kernel di Linux?
- 12. Che cosa significa "EXPORT_SYMBOL" nel codice del kernel di Linux?
- 13. Simboli del kernel Linux esportati
- 14. Implementazione della corretta sincronizzazione tra moduli nel kernel Linux
- 15. intesa macro container_of nel kernel di Linux
- 16. Chiamata di funzione nel kernel linux
- 17. Comunicazione tra moduli nel kernel Linux
- 18. Posso ottenere lo stack delle chiamate Python con linux perf?
- 19. Test delle prestazioni del browser tramite selenio
- 20. In che modo l'utilità perf di linux capisce le tracce dello stack? utility perf
- 21. come utilizzare CryptoAPI nel kernel Linux 2.6
- 22. Applicazione, migliorare le prestazioni degli eventi tattili
- 23. Inserire i dati locali nel modulo del kernel linux
- 24. Programmazione del modulo del kernel Linux: makefile
- 25. Uso del doppio puntatore nel kernel Linux Implementazione lista hash
- 26. Dov'è la tabella delle chiamate di sistema nel kernel di Linux?
- 27. Sovraccarico delle prestazioni di grandi dimensioni classe C#
- 28. Leggere periodicamente i contatori delle prestazioni in linux
- 29. timestamp leggibile dall'uomo nel kernel linux
- 30. nel kernel linux, asm o asm-generic?
perf è pensato per avere il minor impatto possibile, quanto dipende da ciò che si fa con esso – Spudd86