Cosa fa cambiando Max Server Memory oltre a cancellare la cache del piano e (ovviamente) alterare le impostazioni di memoria)?


8

Eseguendo SQL Server 2012 SP3 su 32 GB di RAM e 4 core, 60-80 connessioni simultanee, con un carico di lavoro in gran parte ad hoc, stiamo assistendo al picco del processo di SQL Server (CPU) e restiamo aggiunti una o due volte al giorno a tempi imprevedibili. Stiamo lavorando per identificare la causa principale del picco. Nel frattempo, abbiamo scoperto che la modifica dell'impostazione della memoria massima (su o giù) sembra essere l'unica cosa che ripristinerà il carico della CPU normale.

Controllando i log e cercando StackExchange ( https://dba.stackexchange.com/a/183276 ) vediamo che la cache del piano viene svuotata modificando l'impostazione della memoria massima. Tuttavia, se scarichiamo la cache del piano tramite DBCC FREESYSTEMCACHE ("Piani SQL"), il carico della CPU non torna alla normalità.

Poiché la modifica dell'impostazione della memoria massima risolve il problema indipendentemente dal tempo in cui lo aumentiamo o lo diminuiamo, il problema non sembra essere direttamente correlato all'impostazione della memoria massima del server. Pertanto, stiamo cercando di capire cos'altro cambia l'impostazione della memoria, quindi utilizziamo tali informazioni per aiutare a identificare la causa principale del nostro picco della CPU.


Stai solo cancellando una sola cache lì, troverai che ci sono più cache, leggi dba.stackexchange.com/questions/56852/…
Nic

Risposte:


3

Rif: Server Opzioni di configurazione del server di memoria

max server memory controlla l'allocazione di memoria di SQL Server, incluso (essenzialmente qualsiasi impiegato di memoria trovato in sys.dm_os_memory_clerks):

  • il pool di buffer
  • compilare la memoria
  • tutte le cache
  • qe assegnazioni di memoria
  • blocca la memoria del gestore
  • memoria clr

Quindi tutti questi componenti saranno effettuati max server memoryimpostando il cambio.

Da un lato, questo sarà un percorso molto difficile per trovare ciò che sta causando il picco della CPU. Ti suggerisco di utilizzare i seguenti articoli per la risoluzione dei problemi.

  1. Risoluzione dei problemi relativi alle prestazioni della CPU di SQL Server di Joe Sack
  2. Come faccio a sapere cosa sta martellando il mio SQL Server?
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.