Condividi tramite


Gestione dei nomi di istanza duplicati

Sebbene i provider siano fortemente invitati a usare nomi di istanza univoci, non tutti i provider lo fanno. La convenzione per la visualizzazione dei nomi di istanze duplicate consiste nell'aggiungere un carattere e un # numero di serie al nome dell'istanza, ad eccezione della prima occorrenza del nome. Ad esempio, se sono presenti tre istanze di svchost in un esempio, i tre nomi vengono visualizzati come svchost, svchost#1e svchost#2.

Sfortunatamente, questa convenzione non risolve completamente il problema. I numeri di serie vengono assegnati in base all'ordine in cui viene visualizzato un nome di istanza specifico in un esempio e questo ordine può essere incoerente dal campione all'esempio. Ad esempio, l'esempio A potrebbe vedere svchost (PID 100), svchost#1 (PID 200) e svchost#2 (PID 300). Se quindi svchost con PID 100 si arresta, l'esempio successivo visualizzerà svchost (PID 200) e svchost#1 (PID 300). La logica di corrispondenza di base tenterebbe di trovare una corrispondenza tra le statistiche di svchost#1 esempio A (da PID 200) rispetto alle statistiche del svchost#1 campione B (da PID 300), causando risultati non validi per il campione B. Gli errori si verificano quando una nuova istanza non univoca viene visualizzata in un esempio o quando un'istanza non univoca smette di visualizzare in un esempio (a meno che l'istanza aggiunta/rimossa non sia l'ultima).

Contatore del processo

Questo problema è particolarmente problematico per il Process contatore perché usa solo il nome EXE del processo come nome dell'istanza anche se il nome EXE non è univoco. Il comportamento predefinito del contatore in Process Windows non può essere modificato a causa di problemi di compatibilità.

Suggerimento

Windows 11 e versioni successive includono il nuovo Process V2 contatore. Il Process V2 contatore include l'ID processo (PID) nel nome dell'istanza che evita il problema di duplicazione dei nomi del Process contatore.

È possibile modificare il comportamento dei Process contatori e Thread per usare nomi di istanza univoci impostando i valori del ProcessNameFormat Registro di sistema o ThreadNameFormat nella chiave del HKLM\System\CurrentControlSet\Services\Perfproc\Performance Registro di sistema.

Attenzione

L'abilitazione di nomi di istanze univoci per il Process contatore può causare un comportamento non corretto di alcuni programmi, poiché molti programmi prevedono il modello di denominazione non univoco. Ad esempio, un programma che cerca un'istanza con un nome EXE noto specifico non sarà più in grado di trovare tale istanza dopo aver abilitato nomi di istanza univoci.

Il tipo di registro per questi valori è REG_DWORD. L'impostazione del valore per 2 accoda l'identificatore del processo (PID) al nome dell'istanza del processo e all'identificatore del thread (TID) al nome dell'istanza del thread. Per disabilitare questa funzionalità, impostare il valore su 1 o eliminare il valore.