Regole di prestazioni in base all'ID
Avviso |
Descrizione |
---|---|
Le chiamate a System.String.Concat sono una percentuale significativa dei dati di profilatura.Considerare l'utilizzo della classe StringBuilder per costruire stringhe da più segmenti. |
|
Il profiler non ha trovato VSPerfCorProf.dll durante l'esecuzione del profilo.Questo avviso si verifica quando gli strumenti da riga di comando per la raccolta di dati del profiler vengono utilizzati senza lo strumento VSPerfCLREnv.cmd per inizializzare le variabili di ambiente necessarie. |
|
Una percentuale significativa dei campioni dello stack di chiamate raccolti per l'applicazione erano in esecuzione in modalità kernel.Considerare la possibilità di profilare l'applicazione tramite un metodo di profilatura diverso. |
|
L'utilizzo del processore (CPU) è significativamente elevato nei dati di profilatura raccolti utilizzando il metodo di strumentazione.Considerare l'utilizzo del metodo di profilatura del campionamento per profilare applicazioni associate alla CPU. |
|
Un numero elevato di oggetti di memoria .NET viene recuperato in un'operazione di Garbage Collection di generazione 2. |
|
DA0006: Eseguire l'override di Equals() per i tipi di valore |
Le chiamate al metodo Equals o agli operatori di uguaglianza di un tipo di valore pubblico sono una percentuale significativa dei dati di profilatura.Considerare l'implementazione di un metodo più efficiente. |
DA0007: Evitare di utilizzare eccezioni per il flusso di controllo |
Nei dati di profilatura sono stati chiamati gestori di eccezioni .NET Framework con una frequenza elevata.Considerare l'utilizzo di un'altra logica del flusso di controllo per ridurre il numero di eccezioni generate. |
Solo alcuni campioni sono stati raccolti nell'esecuzione del profilo.Si consiglia di eseguire il campionamento più a lungo o di aumentare la frequenza di campionamento per ottenere risultati più significativi. |
|
Una percentuale significativa del tempo di esecuzione dell'applicazione è stata utilizzata dal compilatore JIT. |
|
Le chiamate al metodo GetHashCode del tipo costituiscono una percentuale significativa dei dati di profilatura oppure il metodo alloca memoria. |
|
Il metodo CompareTo del tipo è dispendioso o alloca memoria. |
|
Le chiamate ai metodi System.Reflection, ad esempio InvokeMember e GetMember, o ai metodi Type, ad esempio MemberInvoke, costituiscono una percentuale significativa dei dati di profilatura.Quando è possibile, considerare la possibilità di sostituire questi metodi con associazione anticipata ai metodi di assembly dipendenti. |
|
Le chiamate ai metodi System.String.Split o System.String.Substring costituiscono una parte significativa dei dati di profilatura.Considerare l'utilizzo di System.String.IndexOf o System.String.IndexOfAny se si sta verificando l'esistenza di una sottostringa in una stringa. |
|
DA0014: Frequenze molto elevate di paging di memoria attiva su disco |
I dati relativi alle prestazioni di sistema raccolti nell'esecuzione della profilatura indicano che si è verificata una frequenza estremamente elevata di paging di memoria attiva da e su disco durante la profilatura.Le frequenze di paging a questo livello avranno solitamente un impatto sulle prestazioni e sulla velocità di risposta dell'applicazione.Considerare la possibilità di ridurre le allocazioni di memoria rivedendo gli algoritmi.Potrebbe inoltre essere necessario considerare i requisiti di memoria dell'applicazione,ripetendo l'esecuzione della profilatura su un computer con una maggiore quantità di memoria. |
DA0017: Frequenze elevate di paging di memoria attiva su disco |
I dati relativi alle prestazioni di sistema raccolti nell'esecuzione della profilatura indicano che si è verificata una frequenza elevata di paging di memoria attiva da e su disco durante la profilatura.Le frequenze di paging a questo livello avranno solitamente un impatto sulle prestazioni e sulla velocità di risposta dell'applicazione.Considerare la possibilità di ridurre le allocazioni di memoria rivedendo gli algoritmi.Potrebbe inoltre essere necessario considerare i requisiti di memoria dell'applicazione,ripetendo l'esecuzione della profilatura su un computer con una maggiore quantità di memoria. |
DA0018: Applicazione a 32 bit in esecuzione al limite di memoria gestito dal processo |
I dati di sistema raccolti durante l'esecuzione della profilatura indicano che gli heap di memoria di .NET Framework hanno quasi raggiunto la dimensione massima consentita per gli heap gestiti in un processo a 32 bit.Il valore indicato è il massimo valore degli heap osservato durante l'attività del processo profilato.Considerare la possibilità di ottimizzare l'utilizzo delle risorse di memoria gestita da parte dell'applicazione. |
DA0021: Frequenza elevata di Garbage Collection di generazione 1 |
I dati relativi alle prestazioni di sistema raccolti durante la profilatura indicano che una percentuale significativa della memoria per oggetti .NET Framework è stata recuperata nell'operazione di Garbage Collection di generazione 1 rispetto alla raccolta dei dati di generazione 0. |
DA0022: Frequenza elevata di Garbage Collection di generazione 2 |
I dati relativi alle prestazioni di sistema raccolti durante la profilatura indicano che una percentuale significativa della memoria per oggetti .NET Framework è stata recuperata nell'operazione di Garbage Collection di generazione 2 rispetto alle operazioni di Garbage Collection di generazione 0 e generazione 1. |
I dati relativi alle prestazioni di sistema raccolti durante la profilatura indicano che la quantità di tempo impiegato nell'operazione di Garbage Collection è significativa rispetto al tempo di elaborazione totale dell'applicazione. |
|
I dati relativi alle prestazioni di sistema raccolti durante la profilatura indicano che la quantità di tempo impiegato nell'operazione di Garbage Collection risulta eccessivamente alta rispetto al tempo di elaborazione totale dell'applicazione. |
|
Il tempo CPU proporzionale eseguito in modalità kernel ha superato la quantità di tempo trascorso in modalità utente.Per determinare la causa degli elevati tempi di esecuzione in modalità kernel, eseguire di nuovo la profilatura e abilitare al campionamento del numero di chiamate di sistema (syscalls). |
|
Si sta tentando di profilare un'applicazione che utilizza .NET Framework versione 1.1, che non è supportata dagli strumenti di profilatura. |
|
DA0030: Raccogli misurazioni di interazione tra livelli per i progetti di database |
Le chiamate ai metodi System.Data costituiscono una percentuale significativa dei dati di profilatura e non sono stati raccolti dati di interazione tra livelli nell'esecuzione della profilatura.Considerare la possibilità di ripetere la profilatura e di aggiungere dati di interazione tra livelli. |
I dati relativi alle prestazioni di sistema raccolti con i dati di profilatura indicano che si è verificata una frequenza significativamente elevata di conflitti di blocco durante l'esecuzione dell'applicazione.Considerare la possibilità di eseguire di nuovo la profilatura utilizzando il metodo di profilatura della concorrenza per individuare la causa dei conflitti. |
|
I dati relativi alle prestazioni di sistema raccolti con i dati di profilatura indicano che si è verificata una frequenza eccessivamente elevata di conflitti di blocco durante l'esecuzione dell'applicazione.Considerare la possibilità di eseguire di nuovo la profilatura utilizzando il metodo di profilatura della concorrenza per individuare la causa del conflitto. |
|
DA0501: Consumo medio CPU del processo sottoposto a profilatura. |
In questo messaggio viene indicata la percentuale di tempo impiegato da un processore per l'esecuzione di istruzioni dall'applicazione.Il valore indicato è il valore medio fra tutti gli intervalli di misurazione nei quali il processo profilato era attivo.Il valore può essere maggiore di 100% su un computer con più di un processore. |
DA0502: Consumo massimo CPU del processo sottoposto a profilatura |
In questo messaggio viene indicata la percentuale massima di tempo impiegato da un processore per l'esecuzione di istruzioni dall'applicazione.Il valore indicato è il valore massimo segnalato fra tutti gli intervalli di misurazione nei quali il processo profilato era attivo.La percentuale può essere maggiore di 100% su un computer con più di un processore. |
DA0503: Working set medio in byte del processo sottoposto a profilatura |
Questo messaggio indica la quantità media di memoria fisica, in byte, utilizzata attualmente dal processo espressa in byte (il working set).Il working set del processo rappresenta pagine dallo spazio degli indirizzi del processo che attualmente risiedono nella memoria fisica. |
DA0504: Working set massimo in byte del processo sottoposto a profilatura |
Questo messaggio indica la quantità massima di memoria fisica, in byte, utilizzata attualmente dal processo.Il working set del processo rappresenta pagine dallo spazio degli indirizzi del processo che attualmente risiedono nella memoria fisica.Questa regola indica il valore massimo per il working set del processo mentre la profilatura era attiva. |
DA0505: Byte privati medi allocati per il processo sottoposto a profilatura |
Questo messaggio indica la quantità media di memoria virtuale che il processo ha attualmente allocato in byte (byte privati).I byte privati rappresentano percorsi di memoria virtuale allocati dal processo al quale possono accedere solo thread in esecuzione all'interno del processo. |
DA0506: Byte privati massimi allocati per il processo sottoposto a profilatura |
Questo messaggio indica la quantità massima di memoria virtuale che il processo ha attualmente allocato in byte (byte privati).I byte privati rappresentano percorsi di memoria virtuale allocati dal processo al quale possono accedere solo thread in esecuzione all'interno del processo. |