Personalizzazione dei parametri di Spinlock
Per impostazione predefinita, il sistema registra un evento spinlock per ogni acquisizione non automatica di 1000 e un evento spinlock per ogni acquisizione automatica. La raccolta dati spinlock supporta tre parametri che consentono di personalizzare la raccolta dati. Per impostare i parametri della raccolta spinlock, usare il comando seguente.
xperf -setspinlocksample [spin_threshold] [acquire_sample_rate] [contention_sample_rate]
Parametri
spin_threshold
La strumentazione spinlock offre una funzionalità per tracciare blocchi con frequenza elevata. Questa operazione viene ottenuta impostando una soglia di rotazione elevata. Se un blocco ruota meno di questa soglia, non verrà registrato alcun evento spinlock. Ad esempio, se questo valore è 1, viene acquisito un evento spinlock per ogni tentativo di acquisizione di un blocco. Se questo valore è 10, viene registrato un evento spinlock per ogni dieci tentativi di acquisizione di un blocco. Il valore predefinito è 1.
acquire_sample_rate
Frequenza di esempio in cui vengono registrati eventi di spinlock durante una traccia. Ad esempio, se questo valore è 1000, viene registrato un evento spinlock per ogni acquisizione di eventi non collisioni 1000. Il valore predefinito è 1000.
contention_sample_rate
Frequenza in cui vengono registrati eventi di spinlock quando si verificano collisioni. Ad esempio, se questo valore è 100, viene registrato un evento spinlock per ogni 100 collisioni di spinlock. Il valore predefinito è 1.
Commenti
I parametri della raccolta Spinlock restituiscono i valori predefiniti quando il sistema viene riavviato. Per garantire la raccolta dati valida, eseguire sempre query o impostare parametri di spinlock prima di avviare la raccolta dati degli eventi.
Esempio
Nell'esempio seguente viene illustrato come eseguire query sui valori correnti.
xperf -spinlock
Nell'esempio seguente viene impostata la soglia di rotazione su 1, la frequenza di acquisizione del campione su 1000 e la frequenza di contesa di spinlock su 100.
xperf -setspinlocksample 1 1000 100
Questa query restituisce il risultato seguente per i valori impostati nell'esempio precedente.
Current Spinlock Spin Threshold = 1
Current Spinlock Acquire Sample Rate = 1000
Current Spinlock Contention Sample Rate = 100