Categorías
Donaciones

Todo el contenido es gratuito y en beneficio de la comunidad. Puedes reconocer el esfuerzo con una donación si lo deseas.

Inserte aquí su publicidad

A raíz de una cuestión surgida en el foro, me vino a la mente de nuevo el comportamiento del parámetro “max server memory”. Sorprende que teniendo un límite superior, y siendo algo que hay que fijar en cualquier instalación de entidad, en realidad no se comporte como tal. SQL Server toma más (en ocasiones mucha más) memoria de lo que se le marca, debido a que hay muchas cosas para las que SQL Server toma páginas de otras partes. En instalaciones grandes, como las que administro, el diferencial entre memoria fijada vs. memoria tomada alcanza los 20 Gb, lo que provoca que hagan falta semanas o meses para fijar el umbral de memoria para una instancia.

Sabía que había oído hablar en alguna parte (de hecho, sí sé la parte) que en futuras versiones de SQL Server, “max server memory” ya incluiría páginas fuera del buffer pool, así como alguna cosa más. Esto es, que cuando uno le pusiera al servidor “reserva 240 Gb”, el servidor no tomara 250 ni 260. Es una cuestión que debía caer por su propio peso desde el momento en el que cada vez es mayor la asimetría. Y no nos engañemos, es una tortura tener que estar supervisando la memoria que le queda al servidor, no sea que dé un bajón y se caiga la instancia. Barbaridades, como forzar la presión de memoria externa para que suelte algo, he hecho el último año ante situaciones en las que la memoria se va agotando paulatinamente. Eso sin entrar a hablar de casos de soporte con MS (que darían para una docena de post), empleo de herramientas tipo RAM Map, etc., que han supuesto una inversión de tiempo, casi todo improductivo, y todo porque había 12 ó 15 Gb que no sólo no sabía dónde estaban, es que no había forma de que nadie me dijera dónde se estaban consumiendo.

Lo que no recordaba era si era dentro de SQL Server 2012 o si era para la siguiente cuando podríamos estar un poco más tranquilos. Así que lo que hice fue ir a http://connect.microsoft.com/sqlserver para votar por la petición. Mucha gente lo desconoce, pero es la forma tanto de reportar un bug como de realizar una sugerencia. Luego esas sugerencias son votadas. Y si todos la apoyamos, las funcionalidades se incluyen, nunca hay que olvidar que es nuestro producto. Mi idea era votar la sugerencia en la que se solicitara un cambio en el comportamiento de esta configuración, pero como no lo encontré, lo cual me sorprendió, inicié uno nuevo. Al día siguiente el hilo quedó cerrado: Ya estaba hecho:

https://connect.microsoft.com/SQLServer/feedback/details/759780/total-max-server-memory-parameter

Me dejaron también un link explicativo, y muy útil por cierto, que repito aquí:

http://support.microsoft.com/kb/2663912/en-us

Y me hago aquí eco porque no soy el único que durante años (y los que me quedan) brego con el ajuste de “max server memory”. Si necesitábamos una razón para dar el salto a SQL Server 2012, aquí tenemos otra.

Un comentario para “Un “max server memory” de verdad en SQL Server 2012”

Deja un comentario


Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies