Tengo una instalación de sandbox de SQL Server en mi computadora local. He configurado la memoria que la instancia de SQL Server puede usar en 1000 mb. Cuando se ejecuta una operación intensiva, el uso de memoria aumenta hasta 1000 mb. Cuando finaliza la operación, SQL Server aún conserva la memoria. ¿Cómo liberar esta reserva de memoria?
sql-server
memory
jrara
fuente
fuente
min server memory
ymax server memory
configuraciones ? Una vez que SQL Server reserva el mínimo que especifique, nunca lo liberará a menos que cambie la configuración o devuelva la instancia. Como señaló James, si reserva más del mínimo que usted especifique, en teoría debería liberarlo cuando no lo necesite y haya presión de memoria en la máquina.Respuestas:
Detenga / inicie el servicio, nada más liberará la memoria al sistema operativo.
Obviamente, no es algo que quiera hacer con un servidor operativo, pero es perfectamente razonable para un sandbox local. Con 3 instancias diferentes en mi computadora portátil, es la única forma viable.
Editar siguiendo el comentario de @ Nick.
¿Cuál es su definición de "no lo necesita"? Una vez que se haya llenado el grupo de búferes, no se eliminarán las páginas hasta que se vean desfavorecidas por otras páginas introducidas. Si desea recuperar la memoria de inmediato, como es el caso de @jrara, debe detenerse /comienzo.
fuente
QueryMemoryResourceNotification
para determinar cuándo la agrupación de almacenamiento intermedio puede asignar memoria y liberar memoria". Entonces, si solo le preocupa matar de hambre a otras aplicaciones que pueden necesitar más memoria, SQL Server en teoría liberará memoria que no necesita cuando Windows se lo indique. La única razón por la que debería necesitar forzar una liberación reiniciando la instancia es si este mecanismo no funciona según lo diseñado o si la configuración de memoria mínima / máxima es incorrecta.liberará la piscina.
https://msdn.microsoft.com/en-us/library/ms178529.aspx
Observaciones
La ejecución de DBCC FREESYSTEMCACHE borra la caché del plan para la instancia de SQL Server. Borrar el caché del plan provoca una recopilación de todos los planes de ejecución posteriores y puede causar una disminución repentina y temporal en el rendimiento de la consulta. Para cada caché borrado en la memoria caché del plan, el registro de errores de SQL Server contendrá el siguiente mensaje informativo: "SQL Server ha encontrado% d ocurrencias de vaciado del almacenamiento en caché para el almacenamiento en caché '% s' (parte de la memoria caché del plan) debido a "DBCC FREEPROCCACHE" o "DBCC FREESYSTEMCACHE" operaciones ". Este mensaje se registra cada cinco minutos siempre que el caché se vacíe dentro de ese intervalo de tiempo.
fuente
Renunciará a la memoria que no está usando automáticamente, ya que otras aplicaciones intentan confirmarlo.
fuente