Supervisar el uso de la memoria
Supervise una instancia de SQL Server periódicamente para confirmar que la utilización de la memoria se encuentra dentro de los intervalos normales.
Para supervisar las condiciones de memoria insuficiente, utilice los contadores de objetos siguientes:
Memoria: Bytes disponibles
Memoria: Páginas por segundo
El contador Bytes disponibles indica en bytes la memoria disponible actualmente para procesos. El contador Páginas/seg indica el número de páginas que se han recuperado del disco debido a errores de página no recuperables o que se han escrito en disco para liberar espacio en el espacio de trabajo debido a errores de página.
Un valor bajo en el contador Bytes disponibles puede indicar una escasez general de memoria en el equipo o que un programa no está liberando memoria. Un valor alto en el contador Páginas/seg puede indicar una paginación excesiva. Supervise el contador Memoria: Errores de página/s para asegurarse de que la actividad del disco no está causada por la paginación.
Una tasa baja de paginación (y por tanto, de errores de página) es normal, incluso si el equipo tiene mucha memoria disponible. El Administrador de memoria virtual (VMM) de Microsoft Windows sustrae páginas de SQL Server y otros procesos a medida que recorta los tamaños del espacio de trabajo para estos procesos, lo que suele provocar errores de página. Para determinar si SQL Server u otro proceso provoca la paginación excesiva, supervise el contador Proceso: Errores de página/s de la instancia de proceso de SQL Server.
Para obtener más información acerca de cómo solucionar la paginación excesiva, vea la documentación del sistema operativo Windows.
Aislar la memoria que utiliza SQL Server
De forma predeterminada, SQL Server cambia dinámicamente sus necesidades de memoria según los recursos del sistema disponibles. Si SQL Server necesita más memoria, consulta el sistema operativo para determinar si hay memoria física disponible y la utiliza. Si SQL Server no necesita la memoria que tiene asignada actualmente, la libera para el sistema operativo. Sin embargo, el uso dinámico de la memoria puede anularse mediante las opciones de configuración de servidor min server memory y max server memory . Para obtener más información, vea el documento sobre las opciones de memoria del servidor.
Para supervisar la cantidad de memoria que utiliza SQL Server, examine los siguientes contadores de rendimiento:
Proceso: Espacio de trabajo
SQL Server: Administrador de búfer: Frecuencia de aciertos de caché del búfer
SQL Server: Administrador de búfer: Páginas de base de datos
SQL Server: Administrador de memoria: Memoria total del servidor (KB)
El contador Espacio de trabajo muestra la cantidad de memoria que utiliza un proceso. Si este número es constantemente inferior a la cantidad de memoria establecida en las opciones del servidor min server memory y max server memory, SQL Server está configurado para utilizar más memoria de la que necesita.
El contador Frecuencia de aciertos de caché del búfer es específico de la aplicación. Sin embargo, es preferible un porcentaje del 90% o superior. Agregue más memoria hasta que el valor sea superior al 90%, lo que indica que se ha atendido más del 90% de todas las solicitudes de información de la caché de datos.
Si el valor del contador Memoria total del servidor (KB) es constantemente alto en comparación con la cantidad de memoria física del equipo, puede que indique que se necesita más memoria.
Determinar la asignación de memoria actual
La siguiente consulta devuelve información sobre la memoria asignada actualmente.
SELECT
(physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB,
(locked_page_allocations_kb/1024) AS Locked_pages_used_Sqlserver_MB,
(total_virtual_address_space_kb/1024) AS Total_VAS_in_MB,
process_physical_memory_low,
process_virtual_memory_low
FROM sys.dm_os_process_memory;