SQL Server - Consumo de Memoria RAM

 
Vista:

Consumo de Memoria RAM

Publicado por Fabian DC (4 intervenciones) el 15/12/2014 21:02:15
Estimados, primero mi más sincero respeto a los miembros del foro, programadores y a los que somos usuarios comunes. Un abrazo.

Consulta... tengo una maquina virtual con Windows Server 2008 R2 (64bits) y Microsoft SQL Server 2008 bajo XenServer de las siguientes características:
2 procesadores Xeon E5-2609 2.4GHZ, 16G RAM, capacidad del disco 500GB (el servidor tiene 4 discos SATA3 de 1TB c/u en RAID 5).

Los archivos físicos de las BD (que son 6) están en la unidad C: de la carpeta MSSQL\DATA por defecto de SQL Server (no hay otra partición), de los cuales 5 de ellos no superan el GIGA, el otro restante es el fregado, pesa 87GB y es la que mayor carga y consultas tiene. Esto hace que en una consulta el procesador suba su carga por unos minutitos, pero la RAM es la que sufre, consumiéndola toda en este proceso. Lo extraño y no sé por qué, es que luego de terminada la consulta la memoria no baja quedando en 15GB consumidos por el proceso sqlservr.exe

Nos recomendaron lo siguiente, agregar 1 disco para mover las BD a este (.mdf), y otro disco para dejar el archivo de transacciones (.ldf).

Alguna idea del por qué nuestro problema?

Saludos y muchas gracias por el tiempo y ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consumo de Memoria RAM

Publicado por Isaias (4558 intervenciones) el 16/12/2014 00:13:58
Pues asi como hacerle al adivino, no creo.

¿Que version-edicion de SQL Server tienes?
¿Cuanto memoria total de tu servidor esta dedicada a SQL Server y cuanta al OS?
¿Hay planes de mantenimiento?
¿Como andamos de indices?
¿Donde se encuentra alojada tu TEMPDB?, ¿Esta base en particular, tiene el mismo numero de archivos MDF de acuerdo a tu numero de procesadores?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consumo de Memoria RAM

Publicado por Fabian DC (4 intervenciones) el 16/12/2014 22:39:32
Isaias, respondo a tus preguntas.

1.- Version/Edicion 10.50.1600.1/Standard Edition R2 (64Bit)
2.- Tiene configurada la función AWE con los parámetros por defecto. Esta función se la habilité hoy y las consultas salieron 3 veces más rápidas que lo normal.
3.- Existe un Plan de Mantenimiento que consiste en: Eliminar el Histórico de 4 semanas (copias de seguridad y restauración, de trabajos Agente SQL Server, historial de mantenimiento), otra de eliminación de copias de Backup de 1 día, la copia de seguridad de las BD existentes. Luego reorganiza el índice de la BD más grande y termina con una tarea de volver a generar el índice.
4.- La BD TEMPDB está en la misma carpeta de los demás archivos de BD, y tiene un sólo archivo MDF, y como te dije este servidor tiene 2 procesadores.

Quedo atento y agradezco sus comentarios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consumo de Memoria RAM

Publicado por Isaias (4558 intervenciones) el 16/12/2014 23:57:29
1.- Tienes un SQL SERVER 2008 R2, sin service pack, o sea, RTM, necesitas aplicar el ultimo service pack
2.- El AWE mermory es para la versión 2000, te pregunte cuanta memoria para SQL (min-max)
3.- Malo, muy malo, NO PUEDES reorganizar y después regenerar índices, una o la otra.
4.- Debe tener al menos DOS archivos MDF y estar en DISCO SEPARADO, nunca en c:\

Lo mas critico, es lo del SERVICE PACK, debes actualizar tu versión 10.50.6000.34
or 10.53.6000.34 (sp3)

Tu plan de mantenimiento, debe ser separado, uno de RESPALDOS y uno de REGENERACION DE INDICES o DEFRAGMENTACION, y al finalizar, una actualización de estadísticos

¿Alguna duda?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consumo de Memoria RAM

Publicado por Fabian DC (4 intervenciones) el 17/12/2014 22:43:12
1.- Instalaré el SP3 que recomiendas.
2.- Deshabilite el AWE. Dejé como memoria Min: 2048MB y Max: 10240MB.
3.- Sólo dejé Reorganizar índices.
4.- Seguiré tu recomendación.
5.- Ya separé el plan de mantenimiento.

Muchas gracias por tu recomendación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consumo de Memoria RAM

Publicado por Isaias (4558 intervenciones) el 17/12/2014 23:04:09
Bien, solo una observación

el Mínimo de memoria default es 1024, no lo muevas, a menos de que tengas una razón justificada

En cuanto a la defragmentacion, se hace en base al nivel de fragmentación de tus índices, <= 40%, se defragmenta, arriba se reorganiza.

Escríbeme a mi cuenta de correo y te envió el query que lo hace.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consumo de Memoria RAM

Publicado por Fabian DC (4 intervenciones) el 18/12/2014 16:24:26
La memoria mínima en un principio estaba en 0 y yo la deje en 2048. La de jo tal como lo tengo ahora o lo dejo en 1024?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consumo de Memoria RAM

Publicado por Isaias (4558 intervenciones) el 18/12/2014 17:48:20
Dejalo en CERO (0)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 63
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consumo de Memoria RAM

Publicado por xve (102 intervenciones) el 16/12/2014 07:57:57
Hola Fabian, recuerda que siempre intenta guardar el máximo de datos en la cache, por si se repite la consulta...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Consumo de Memoria RAM

Publicado por Isaias (4558 intervenciones) el 16/12/2014 18:11:18
Eso no es una regla, lo que se puede hacer, es validar que tanto se mandan a ejecutar los procedimientos y de ahí, tomar la decisión de re-nombrar aquellos que son llamados de forma excesiva colocándoles el SP_ como parte del nombre, esto hará que el procedimiento, se quede en la cache.

Pero NO TODOS los procedimientos deben estar en esta situación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar