¿Cómo podría limitar o incluso deshabilitar el caché de archivos en Windows Server 2008R2?


9

Hay una máquina, con una matriz RAID muy rápida y una conexión rápida a Internet. Pero, solo obtuvo 8 gb de memoria, que se agota muy rápido, cuando la carga aumenta.

¿Alguna idea de cómo podría deshabilitar o limitar el caché?
(He intentado deshabilitar Write Cache desde el Administrador de dispositivos. Pero eso es solo escribir en caché, y no ayudó).


¿Alguna relación con esto? superuser.com/questions/415140/…
Der Hochstapler

@OliverSalzburg Lamentablemente, no está en espera ahora. El modo de espera es excelente y debe estar encendido siempre. Es algo bueno Pero ahora, por alguna razón, este carnero se usa como "Activo". (Estoy usando uTorrent para probar las velocidades, y bajo una transferencia rápida, comienza a suceder)
Apache

Respuestas:


4

El objetivo de la memoria caché es que usa ram no utilizado , y lo abandona tan pronto como una aplicación solicita más. Por lo tanto, no desea limitar su tamaño, ya que hacerlo dejaría el ariete libre completamente desperdiciado.


99
Dígale eso a mi Windows 7, que cambió todos los programas solo para guardar un archivo de video en la memoria caché mientras lo codificaba, un archivo que se leerá exactamente una vez, y bloqueó toda la caja.
Jan Schejbal

Esto puede depender de la opción LargeSystemCache. Por alguna razón, lo configuré (probablemente desde la época en que la RAM que tenía era más que suficiente para todo lo que hacía).
Jan Schejbal

@ JanSchejbal, esa es la configuración que ya no podía recordar debido al hecho de que renuncié a Windows hace unos años. Normalmente, el núcleo intenta intercambiar páginas de procesos que han estado inactivos durante algún tiempo porque esa memoria se puede utilizar mejor para usar archivos de almacenamiento en caché para procesos activos. Esa configuración lo hace más agresivo en esto.
psusi el

@JanSchejbal la clave de registro LargeSystemCache ya no se usa a partir de 2008r2 de acuerdo con blogs.technet.com/b/askperf/archive/2008/02/01/…
BeowulfNode42

3

Debe llamar al sistema API SetSystemFileCacheSize ()
Documentado aquí: http://msdn.microsoft.com/en-us/library/aa965240.aspx

Algunos programas GUI lo permiten: http://technet.microsoft.com/en-us/sysinternals/bb897561
Pero es posible que prefiera CLI, para ejecutarlo automáticamente al inicio del sistema: http://www.uwe-sieber.de/ntcacheset_e .html (mira en el medio de la página, funciona para 2k8)

O simplemente escriba un script de PowerShell que llame a SetSystemFileCacheSize ()

Tenga en cuenta que no se recomienda deshabilitar el caché para uso en producción.
Es frecuente limitar el tamaño de la memoria caché a un valor pequeño para las máquinas virtualizadas, no deshabilitarlo.


hmm ... hasta ahora, todo bien! Informaré pronto.
Apache

Eso es raro. He configurado el tamaño de trabajo MÁXIMO en 1 gigabyte, y simplemente se abre paso. Subirá mucho más, no le importa el valor o el límite. ¿Por qué?
Apache

Debe asegurarse de controlar el valor correcto. Use la utilidad de caché para eso.
Gregory MOUSSAT

2

También hemos experimentado este problema en Windows Server 2008 R2 en nuestra empresa. En nuestro caso, la máquina se atascó por completo. Parece ser un error en esta versión del servidor de Windows, porque no ocurrió en las mismas circunstancias ni en mi máquina Windows 7 mucho más pequeña que se ejecuta en VirtualBox o en Linux.

Puede establecer el caché en un límite determinado con una API, ya que otros ya lo han publicado, pero puede encontrar aplicaciones para usarlo directamente, como SetSystemFileCacheSize.exe o NT Cache Setter .

La desventaja es que debe configurar el caché después de cada reinicio. También puede vaciar todo el caché de una vez con esto.

Configuramos el caché de archivos en nuestra VM con 14 GB de RAM a 4 GB y funciona. La descarga también funciona bien y puede verla directamente en el Administrador de tareas.

Muestras de línea de comando:

  • Mostrar la configuración actual de Windows:

    SetSystemFileCacheSize.exe
    
  • Mostrar ayuda:

    SetSystemFileCacheSize.exe /?
    
  • Establezca el tamaño mínimo en 8 MB y el tamaño máximo en 128 MB:

    SetSystemFileCacheSize.exe 8 128
    
  • Deshabilite el tamaño mínimo y establezca el tamaño máximo en 128 MB:

    SetSystemFileCacheSize.exe off 128
    
  • Desactivar tamaño mínimo y máximo:

    SetSystemFileCacheSize.exe off off
    
  • Vaciar la caché del archivo:

    SetSystemFileCacheSize.exe flush
    

Nota: La herramienta debe iniciarse con privilegios de administrador.


0

Para limitar la memoria caché de archivos, asegúrese de que no esté habilitada la opción Máxima de rendimiento de uso compartido de archivos y puede especificar la cantidad mínima de memoria caché de archivos seleccionando Minimizar memoria utilizada o Equilibrar.

Para verificar la configuración actual, vaya a: Inicio-> Panel de control-> Conexiones de red-> Conexión de área local-> En la pestaña General, Propiedades-> Seleccionar archivo e impresora-> Propiedades ... si la opción Maximizar está seleccionada, elija Cualquier otra opción.


La opción de propiedades no está disponible para la impresora y el uso compartido de archivos. :) De todos modos, está apagado, el caché es. Sin embargo, en Rammap, todos los archivos están ingresando en la lista de archivos, y la memoria activa sigue creciendo y creciendo.
Apache
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.