Estoy usando SQL Server 2014 - 12.0.2269.0 (X64) en Windows Server 2012 y tengo algunos problemas de memoria. Cuando ejecuto un procedimiento almacenado que está haciendo un cálculo bastante "pesado", aparece un error después de unos 10 minutos:
No hay suficiente memoria del sistema en el grupo de recursos 'predeterminado' para ejecutar esta consulta.
Mi SQL Server tiene múltiples bases de datos (como 15, pero no siempre se usan al mismo tiempo). Miré el archivo de registro de SQL Server (después de recibir el error), y vi muchas líneas como esta:
2015-12-17 12: 00: 37.57 spid19s No permitir asignaciones de páginas para la base de datos 'Database_Name' debido a memoria insuficiente en el grupo de recursos 'default'. Consulte ' http://go.microsoft.com/fwlink/?LinkId=330673 ' para obtener más información.
Se genera un informe en el registro con la memoria utilizada por cada componente (creo). Si interpreto correctamente el informe, podemos ver que hay mucha memoria consumida por MEMORYCLERK_SQLBUFFERPOOL
. Puede encontrar el informe aquí: http://pastebin.com/kgmk9dPH
También generé un informe con un gráfico que muestra la misma "conclusión":
Aquí hay quizás otros informes útiles:
Tenga en cuenta que también he visto este error en el registro:
2015-12-17 12: 04: 52.37 spid70 Error al asignar la página debido a la presión de la memoria de la base de datos: FAIL_PAGE_ALLOCATION 8
Aquí hay información sobre la memoria del servidor:
Memoria total en el servidor: 16 Gb
Memoria asignada al servidor SQL: 12288 Mb
Memoria física en uso (desde
sys.dm_os_process_memory
): 9287 Mb
Si puede ayudar, el servidor no aloja ninguna base de datos de SharePoint.
fuente
Respuestas:
Si bien esto probablemente no sea una respuesta exacta a su problema, lo publicaré de todos modos esperando que pueda ayudarlo de alguna manera.
Lo que estás viendo no es el,
MEMORYCLERK_SQLBUFFERPOOL
sino elMEMORYCLERK_SQLLOGPOOL
tomar toda la memoria.Existe un problema conocido con SQL 2012 SQL Server 2012 experimenta errores de falta de memoria . Aunque esté ejecutando 2014, existe la posibilidad de que se encuentre con el mismo problema (aunque no pude encontrar un elemento de conexión para 2014).
También existe este problema conocido para 2014 y 2012 que involucra reconstrucciones de índices y
always on
. No especificó que está usando eso, pero tal vez el mismo error tiene otros desencadenantes: REVISIÓN: la memoria caché de SQL disminuye y el uso de la CPU aumenta cuando reconstruye un índice para una tabla en SQL ServerPor lo tanto, mi mejor sugerencia por ahora es actualizar a la última CU y ver si aún sucede, ya que
MEMORYCLERK_SQLLOGPOOL
recientemente ha habido algunas soluciones . Como está ejecutando RTM con 2 correcciones de seguridad solo que podrían tener sentido, hay un SP1 + múltiples CU disponibles.Ya que también es bastante alto uso de memoria en
MEMORYCLERK_XTP
utilizado porin-memory OLTP
este artículo puede ayudar a solucionar problemas: Uso Supervisar y resolver problemas de memoriafuente