Condividi tramite


DA0017: Frequenze elevate di paging di memoria attiva su disco

ID regola

DA0017

Categoria

Memoria e paging

Metodo di profilatura

Tutti

Messaggio

È stata rilevata una frequenza elevata di paging di memoria attiva su disco. L'applicazione potrebbe essere associata alla memoria.

Tipo regola

Informazioni

Quando si esegue la profilatura tramite i metodi di campionamento, memoria .NET o conflitto di risorse, è necessario raccogliere almeno 10 campioni per attivare questa regola.

Causa

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 normalmente 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,

Descrizione della regola

Nota

Questa regola informativa viene attivata quando i livelli di paging di memoria attiva raggiungono una quantità significativa. Quando si verifica un livello di paging estremamente elevato, viene attivata invece la regola di avviso DA0014: Frequenze molto elevate di paging di memoria attiva su disco.

Un'attività di paging su disco eccessiva può essere causata da memoria fisica insufficiente. Se le operazioni di paging utilizzano in modo dominante il disco fisico su cui risiede il file di paging, possono rallentare le altre operazioni del disco orientate all'applicazione sullo stesso disco.

Le pagine vengono spesso lette dal disco o scritte sul disco nelle operazioni di paging di massa. Il numero di pagine generate al secondo è spesso molto maggiore del numero di pagine scritte al secondo, ad esempio, perché il numero di pagine generate al secondo include anche le pagine di dati modificate dalla cache dei file di sistema. Tuttavia, non è sempre facile determinare quale processo è direttamente responsabile del paging o perché.

Come correggere le violazioni

Fare doppio clic sul messaggio nella finestra Elenco errori per passare alla visualizzazione Contrassegni. Individuare la colonna Memoria\Pagine/sec. Determinare se sono presenti fasi specifiche di esecuzione del programma in cui l'attività I/O di paging è più elevata rispetto ad altre.

Se si raccolgono dati del profilo per un'applicazione ASP.NET in un scenario del test di carico, provare a eseguire nuovamente il test di carico su un computer configurato con memoria fisica (o RAM) aggiuntiva.

Considerare la possibilità di ridurre le allocazioni di memoria rivedendo gli algoritmi ed evitando API che utilizzano molta memoria, ad esempio String.Concat e String.Substring.