Experimenta problemas de rendimiento en aplicaciones y servicios cuando la caché de archivos del sistema consume la mayor parte de la RAM física

Síntomas

Experimenta problemas de rendimiento en aplicaciones y servicios en varias versiones de Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 y Windows Server 2008 R2. Además, observa los siguientes síntomas:

  • La memoria disponible es casi casi todo lo que hace.

  • La caché de archivos del sistema consume la mayor parte de la RAM física.

  • Hay un volumen continuo y alto de solicitudes de lectura en caché en el disco duro.

Causa

La administración de memoria en los sistemas operativos Microsoft Windows usa un algoritmo basado en demanda. Si un proceso solicita y usa una gran cantidad de memoria, aumenta el tamaño del conjunto de trabajo (el número de páginas de memoria en la RAM física) del proceso. Si estas solicitudes son continuas y no están desactivadas, el conjunto de trabajo del proceso crecerá para consumir toda la RAM física. En esta situación, los conjuntos de trabajo de todos los demás procesos se paginan en el disco duro. Este comportamiento disminuye el rendimiento de aplicaciones y servicios porque las páginas de memoria se escriben continuamente en el disco duro y se leen desde el disco duro.

Este comportamiento también se aplica al conjunto de trabajo de la caché de archivos del sistema. Si hay un volumen continuo y alto de solicitudes de lectura en caché desde cualquier proceso o desde cualquier controlador, el tamaño del conjunto de trabajo de la caché de archivos del sistema crecerá para satisfacer esta demanda. La caché de archivos del sistema usa la RAM física. Por lo tanto, cantidades suficientes de RAM física no están disponibles para otros procesos.

En las versiones de 32 bits de los sistemas operativos Microsoft Windows anteriores a Windows Vista, los conjuntos de trabajo de la caché de archivos del sistema tienen un límite de memoria operativa de menos de 1 gigabyte (GB). La limitación del intervalo de direcciones virtuales impide que los conjuntos de trabajo de la memoria caché de archivos del sistema agoten la RAM física.

En las versiones de 32 bits de los sistemas operativos Windows Vista, los recursos del kernel se asignan dinámicamente. El conjunto de trabajo de la caché de archivos del sistema aumenta para consumir el rango de direcciones virtuales del modo kernel, a costa de otros recursos del kernel. La limitación de este rango de memoria es inferior a 2 GB. Si el equipo tiene más de 2 GB de RAM física, la memoria caché no puede agotar toda la RAM física. Sin embargo, la memoria caché puede agotar el espacio de direcciones virtual en el kernel. Esto puede provocar errores de asignación para otros componentes del kernel.

En las versiones de 64 bits de los sistemas operativos Windows, el tamaño del rango de direcciones virtuales suele ser mayor que la RAM física. En esta situación, el trabajo establecido para la caché de archivos del sistema puede aumentar para consumir la mayor parte de la RAM física.

Resolución

Los algoritmos de administración de memoria de los sistemas operativos Windows 7 y Windows Server 2008 R2 se actualizaron para solucionar muchos problemas de almacenamiento en caché de archivos encontrados en versiones anteriores de Windows. Solo hay situaciones únicas en las que tiene que implementar este servicio en equipos que ejecutan Windows 7 o Windows Server 2008 R2.

Cómo determinar si el sistema se ve afectado

Para determinar si este problema afecta al sistema, instale la herramienta SysInternals RamMap. Puede obtener la herramienta en el siguiente sitio web de Windows Sysinternals:

http://technet.microsoft.com/en-us/sysinternals/ff700229
Cuando ejecute la herramienta, seleccione la opción Usar recuentos. Muestra varias columnas que muestran el patrón actual de uso de memoria. Haga clic en la columna Activa para ordenar por el número de bytes usados y observe el uso superior directamente en el total.

Si el recuento de uso más alto es "Metarchivo" y se usa una gran parte de la memoria disponible, experimenta el problema de caché de archivos de sistema que se describe en la sección "Síntomas". Puede comprobarlo usando el Monitor de rendimiento para supervisar el contador Memory\System Cache Resident Bytes y ver que la caché crece continuamente con el tiempo.

Figura 1. Ejemplo de salida RamMap en el que el equipo está experimentando el problema.


texto alternativo
Figura 2. Ejemplo de salida RamMap en el que el equipo no está experimentando el problema.


texto alternativo
Si el contador Memory\System Cache Resident Bytes del Monitor de rendimiento muestra una tendencia ascendente a lo largo del tiempo, el equipo está experimentando el problema, como se muestra en la figura 3.

Figura 3. Ejemplo de resultado del Monitor de rendimiento en el que el equipo experimenta el problema a lo largo del tiempo.

texto alternativo

Reiniciar requisitos

No es necesario reiniciar el equipo al instalar, desinstalar o usar este servicio.

Si está leyendo este artículo porque está trabajando con un cliente que cree que se ve afectado por este problema, siga estos pasos para ayudar a resolver el problema.

  1. Compruebe que los datos de ramMap, perfmon o poolmon del cliente confirman que la caché de archivos de sistema está consumiendo la mayor parte de la RAM física, como se ha descrito anteriormente.

  2. Para obtener el Servicio de caché dinámica de Windows, descárquelo aquí.

  3. Algunas configuraciones del Registro de caché dinámica son las siguientes:

    Servidores de archivos, es posible que quiera probar 1 GB.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007, es posible que desee probar 500 MB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 y posteriores, en el pasado, al trabajar con SQL EE, usaron 2 GB:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

Más información

Para evitar este problema, use la función DE API GetSystemFileCacheSize y la función API SetSystemFileCacheSize para establecer el valor de tamaño máximo o mínimo para los conjuntos de trabajo de la caché de archivos del sistema. El uso de estas funciones es el único método admitido para restringir el consumo de memoria física en la caché de archivos del sistema.

El servicio de caché dinámica de Microsoft Windows es un servicio de ejemplo que demuestra una estrategia para usar estas API para minimizar los efectos de este problema.

La instalación y el uso del Servicio de caché dinámica de Microsoft no excluye el soporte técnico de Microsoft Windows. Este servicio y su código fuente se proporcionan como ejemplo de cómo usar las API compatibles con Microsoft para reducir el crecimiento de la caché del sistema de archivos.

Puede obtener el servicio y el código fuente desde el siguiente sitio web de Microsoft:

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=es

Recursos adicionales

Lea los capítulos 9 (Administración de memoria) y 10 (Administrador de caché) de Windows Internals, la quinta edición.

Entrada de blog ADMINISTRACIÓN DE MEMORIA (PROBLEMAS GRANDES DE CACHÉ DEL SISTEMA)

Entrada de blog Problemas de copia grande lenta de archivos

Límites de memoria para las versiones de

Windows 976618 Experimenta problemas de rendimiento en aplicaciones y servicios cuando la caché de archivos del sistema usa la mayor parte de la RAM física 918483 Cómo reducir la paginación de memoria del grupo de búferes en la versión de 64 bits de SQL Server 895932 Aspectos que debe tener en cuenta antes de habilitar el modo de caché del sistema en Windows XP 232271 Cómo optimizar Windows NT Server mediante el Registro 837331 Acerca del Administrador de caché en





Windows

Server 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

LargeSystemCache Topic

RamMap Blog Post 

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×