¿Qué hace el cambio de memoria máxima del servidor además de borrar la caché del plan y (obviamente) alterar la configuración de memoria)?

8

Al ejecutar SQL Server 2012 SP3 en 32 GB de RAM y 4 núcleos, 60-80 conexiones concurrentes, con una carga de trabajo en gran medida ad-hoc, estamos viendo el pico del proceso de SQL Server (CPU) y seguimos aumentando una o dos veces al día en momentos impredecibles. Estamos trabajando para identificar la causa raíz del pico. Mientras tanto, descubrimos que alterar la configuración de Memoria máxima (arriba o abajo) parece ser lo único que hará que la carga de la CPU vuelva a la normalidad.

Al verificar los registros y buscar StackExchange ( https://dba.stackexchange.com/a/183276 ) vemos que la memoria caché del plan se vacía al cambiar la configuración de Memoria máxima. Sin embargo, si limpiamos el caché del plan a través de DBCC FREESYSTEMCACHE ('Planes SQL'), la carga de la CPU no vuelve a la normalidad.

Dado que cambiar la configuración de Memoria máxima resuelve el problema sin importar el clima lo aumentemos o disminuyamos, el problema no parece estar relacionado directamente con la configuración de Memoria máxima del servidor. Como tal, estamos tratando de entender qué más cambia la configuración de la memoria y luego usamos esa información para ayudar a identificar la causa raíz de nuestro pico de CPU.

P Hinman
fuente
Solo está borrando un solo caché allí, encontrará que hay varios cachés, lea dba.stackexchange.com/questions/56852/…
Nic

Respuestas:

3

Ref: Opciones de configuración del servidor de memoria del servidor

max server memory controla la asignación de memoria de SQL Server, que incluye (esencialmente cualquier empleado de memoria encontrado en sys.dm_os_memory_clerks):

  • el grupo de búferes
  • compilar memoria
  • todos los cachés
  • qe otorga memoria
  • administrador de bloqueo de memoria
  • memoria clr

Por lo tanto, todos estos componentes se verán afectados al max server memoryestablecer el cambio.

En una nota al margen, este será un camino muy difícil para encontrar lo que está causando el pico de su CPU. Le sugiero que use los siguientes artículos para su solución de problemas.

  1. Solucionar problemas de rendimiento de CPU de SQL Server por Joe Sack
  2. ¿Cómo puedo saber qué está afectando a mi servidor SQL?
SqlWorldWide
fuente