Monitoraggio dell'utilizzo della memoria

Monitorare periodicamente un'istanza di SQL Server per verificare che l'utilizzo della memoria rientri negli intervalli standard.

Per verificare la quantità di memoria disponibile, utilizzare i seguenti contatori:

  • Memoria: Byte disponibili

  • Memoria: Pagine/sec

Il contatore Byte disponibili indica il numero di byte di memoria disponibili per i processi. Il contatore Pagine/sec indica il numero di pagine richiamate dal disco o scritte su disco per liberare spazio nel set di lavoro in seguito a errori di pagina.

Valori bassi del contatore Byte disponibili possono indicare una quantità di memoria insufficiente nel computer o la presenza di un'applicazione che non rilascia la memoria. Un valore elevato del contatore Pagine/sec può indicare un paginazione eccessiva. Monitorare il contatore Memoria: Errori di pagina/sec per assicurarsi che l'attività del disco non sia dovuta alla paginazione.

Anche nei computer con una notevole quantità di memoria disponibile, la frequenza di paginazione, e quindi di errori di pagina, dovrebbe essere bassa. Microsoft Windows Virtual Memory Manager (VMM) sottrae pagine a SQL Server e agli altri processi in quanto riduce le dimensioni dei set di lavoro di tali processi. L'attività di VMM tende quindi a causare errori di pagina. Per determinare se SQL Server o un altro processo provoca una paginazione eccessiva, monitorare il contatore Processo: Errori di pagina/sec alla ricerca dell'istanza del processo SQL Server.

Per ulteriori informazioni su come evitare l'eccessiva paginazione, vedere la documentazione del sistema operativo Windows.

Memoria utilizzata da SQL Server

Per impostazione predefinita, in SQL Server i requisiti di memoria vengono modificati in modo dinamico in base alle risorse di sistema disponibili. Se SQL Server necessita di una maggior quantità di memoria, richiede al sistema operativo di determinare se è disponibile memoria fisica e utilizza la memoria disponibile. Se SQL Server non utilizza completamente la memoria attualmente allocata, rilascia la memoria al sistema operativo. È tuttavia possibile ignorare l'opzione per l'utilizzo dinamico della memoria specificando le opzioni di configurazione del server min server memory e max server memory . Per ulteriori informazioni, vedere Opzioni per la memoria server.

Per monitorare la quantità di memoria utilizzata da SQL Server, esaminare i contatori delle prestazioni seguenti:

  • Processo: Working set

  • SQL Server: Gestione buffer: Percentuale riscontri cache buffer

  • SQL Server: Gestione buffer: Totale pagine

  • SQL Server: Gestione memoria: Memoria totale server (KB)

Il contatore Working set indica la quantità di memoria utilizzata da un processo. Se questo valore è costantemente inferiore alla quantità di memoria impostata dalle opzioni server min server memory e max server memory, SQL Server è stato configurato per utilizzare una quantità eccessiva di memoria.

Il contatore Percentuale riscontri cache buffer è specifico per un'applicazione. È tuttavia desiderabile un livello pari o superiore a 90%. Aggiungere memoria fino a raggiungere un valore costantemente superiore a 90%. Tale percentuale indica che è stato soddisfatto oltre il 90% di tutte le richieste di dati dalla cache dei dati.

Se il valore del contatore Memoria totale server (KB) è costantemente elevato rispetto alla quantità di memoria fisica del computer, può essere necessario aggiungere ulteriore memoria.