Compartir a través de


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/s

El contador Bytes disponibles indica en bytes la memoria disponible actualmente para procesos. El contador Páginas/s 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/s puede indicar una paginación excesiva. Supervise la 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 son la causa de una paginación excesiva, supervise el contador Proceso: Errores de página/s para la instancia del 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 requisitos de memoria en función de 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 asignada actualmente, libera la memoria al sistema operativo. En todo caso, el uso dinámico de la memoria puede anularse mediante las opciones de configuración de servidor minservermemoryy maxservermemory . 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 usa un proceso. Si este número está de forma coherente por debajo de la cantidad de memoria que establece la memoria mínima del servidor y las opciones de servidor de memoria de servidor máxima, SQL Server está configurado para usar demasiada memoria.

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) siempre es 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 consulta siguiente devuelve información acerca de la memoria asignada actual.

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;