5

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

+0

perf è pensato per avere il minor impatto possibile, quanto dipende da ciò che si fa con esso – Spudd86

risposta

0

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.

This method does tell you what to fix.

+0

Bene, il mio obiettivo è eseguire profili a lungo termine sulle macchine di produzione, quindi il sovraccarico delle prestazioni mi preoccupa di più. –

+1

@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). –

1

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.

Problemi correlati