post icon

Reducir el uso de la memoria RAM de SQL Server en caliente sin reiniciar el servicio

Leyendo mis RSS vi un artículo en grimpidev.wordpress.com que me gustó, sobre como liberar el consumo de la memoria RAM que utilizar el servicio de SQL Server.

Si bien es cierto que no es una función diseñada para tal efecto se puede utilizar como artificio para lograr éste objetivo, y me ha parecido muy original la manera que lo desarrollaron. La misma consiste básicamente en establecer el límite máximo a utilizar de RAM por el servicio en un valor bastante bajo obligandole al motor a liberar el recurso, y luego volviendo a establecer en su valor original. Son bien recibidos otros concejos y técnicas en los comentarios.

/* Seteamos el uso maximo de SQL Server a un valor bajo (en este ejemplo, 100MB) */
EXEC sys.sp_configure N'max server memory (MB)', N'100';
GO
RECONFIGURE WITH OVERRIDE;
GO
CHECKPOINT;
GO

/* Seteamos el uso maximo de SQL Server al valor que deseamos, (en este ejemplo, 1024MB). Como la liberacion de memoria, el SQL Server no la hace inmediatamente, hacemos un delay de 1 minuto. */
WAITFOR DELAY '00:01:00';
GO
EXEC sys.sp_configure N'max server memory (MB)', N'1024';
GO
RECONFIGURE WITH OVERRIDE;
GO

fuente: http://grimpidev.wordpress.com

Comentarios desde Facebook:

  1. avatar
    Alvaro! PANAMA Google Chrome Windows
    1 mayo 2013 at 10:11 #

    Tengan cuidado al darle muy poca memoria al bajarla, puede que servidor quede sin suficiente memoria para volver a asignarle el valor original. Tuve ese percance.

  2. avatar
    Dragon VENEZUELA Mozilla Firefox Windows
    22 enero 2013 at 13:22 #

    EN SQL 2008 sale un error porque el comando max server es una funcion avanzada, para evitar esto se debe colocar previo al codigo:

    sp_configure ‘show advanced options’, 1;

    GO

    RECONFIGURE;

    GO

  3. avatar
    Diógenes Caraballo PARAGUAY Google Chrome Windows
    10 enero 2012 at 09:16 #

    TIP: Si quieren ver cual es el valor de “max server memory” antes de tocas dicha configuración lo que deben hacer es ejecutar este código:

    EXEC sys.sp_configure N’max server memory (MB)’

    • avatar
      Aprendiz CUBA Mozilla Firefox Windows
      31 julio 2014 at 10:29 #

      Disculpa mi desconocimiento… mas vale preguntar que quedarme con la duda que pueda enfrentar en un futuro… ¿Y donde corro ese codigo? en un querry de la tabla master? (SQL querry analizer) ???

Trackbacks/Pingbacks

  1. Reducir el uso de la memoria RAM de SQL Server en caliente sin reiniciar el servicio « DbRunas – Noticias y Recursos sobre Bases de Datos UNITED STATES WordPress - 12 mayo 2011

    […] http://www.devtroce.com/2011/05/09/reducir-el-uso-de-la-memoria-ram-en-sql-server/ May 12, 2011   //   MsSQL   //   No Comments   //   […]

Responder