Estoy usando Windows 7 64 bit con 8G ram. Después de algún uso, siento que Windows se está volviendo lento. La unidad está dando vueltas. Cuando miro el monitor de recursos y la actividad del disco, veo algunas instancias de uso del archivo de página (c: \ pagefile.sys). Compruebo la memoria física y veo aproximadamente 2.3G de memoria disponible y 700M de memoria libre.
¿Por qué Windows no usa más memoria libre y menos archivo de página? ¿Necesita dejar una cantidad x de ram libre, cuánto sería? ¿Es un porcentaje de carnero físico?
Mi plan es obtener más memoria RAM y un SSD para la unidad principal. Mientras tanto, estoy sufriendo de un rendimiento lento.
windows-7
memory
task-manager
resource-monitor
Tony_Henrich
fuente
fuente
Respuestas:
Primero, no coloque su archivo de página en un SSD. Si bien los SSD han mejorado con respecto a la nivelación del desgaste, el archivo de la página se escribe con frecuencia y degradará su SSD mucho más rápido que el uso general.
Lo que mucha gente no entiende es que Windows nunca tiene memoria libre. Hay algunos MB que se mantienen libres para demandas de ráfaga, pero de lo contrario, la diferencia entre la memoria de aplicación activa en uso y la memoria total generalmente es consumida por lo que se conoce como memoria "en espera".
Estas son páginas de memoria que se pueden volcar si es necesario (la memoria en espera es una gran caché grande), por lo que desde el punto de vista de la aplicación, está disponible, pero de ninguna manera no se están utilizando. Por lo general, funcionan como caché de disco o caché de archivo de paginación.
El objetivo de Windows es mantener los datos con mayor probabilidad de ser utilizados en esta caché en espera, según los patrones de uso. Para usar un ejemplo artificial, comparemos el valor relativo de la memoria privada de un programa como Windows Update (generalmente configurado para ejecutarse una vez por semana), sobre el almacenamiento en caché de los contenidos de su escritorio en esta memoria en espera:
Para una buena mayoría de las veces, Windows Update está inactivo. Está reteniendo memoria y, en su mayor parte, no hace absolutamente nada de valor mientras espera que llegue el horario. El contenido de su carpeta de escritorio, por otro lado, puede consultarse constantemente, especialmente si desea guardar archivos en él.
En este caso, lo que Windows hará es localizar la memoria asignada a Windows Update (aunque la memoria no esté "llena" y usar el espacio disponible en la RAM para almacenar en caché el contenido de su escritorio. Esto da como resultado un mejor rendimiento para tú.
Windows está tomando miles de estas decisiones y administrando un caché de disco para cientos de archivos que los servicios en segundo plano escriben constantemente mientras intenta equilibrar esto con las demandas de memoria de las aplicaciones activas. A veces se equivoca por un momento, y es posible que tengamos que esperar a que regrese los datos a la memoria cuando cambiemos a una aplicación que ha estado inactiva durante un tiempo. Pero lo que tiene que pensar es que si hubiera mantenido esa aplicación completamente en la memoria, ¿cuántas otras aplicaciones estarían atascadas a la espera de que se completaran las escrituras y lecturas del disco, o se vieran obligados a salir? ¿Qué pasaría si esas fueran aplicaciones que estaba usando mientras tanto?
Las aplicaciones con frecuencia asignan páginas de memoria que se usan muy raramente, como el código de inicio (usado una vez y luego no es necesario), el código de apagado (usado una vez y luego no es necesario) o el código de actualización. No es práctico mantener todo esto en la memoria cuando hay usos mucho más importantes, por lo que una vez que Windows identifica las secciones de código que no se han necesitado para el funcionamiento actual de una aplicación, felizmente distribuye esas secciones en el archivo de paginación, incluso si técnicamente podría retenerlos en la memoria.
(Y en realidad, dependiendo de las aplicaciones, los sistemas con frecuencia pueden asignar más memoria de la que realmente tienen, esperando que la mayor parte termine paginada. Si está viendo un desglose detallado de la memoria, el cargo "Commit" o "Commit" es la cantidad de memoria que Windows ha asignado a varias aplicaciones. El archivo de paginación se utiliza para proporcionar garantías para esta memoria, incluso si no tiene suficiente RAM física para cubrirla).
Acabo de notar que hizo una distinción entre memoria disponible y libre en su pregunta; Mis disculpas si te sientes dictado y ya sabías la diferencia Idealmente, la memoria libre siempre es 0. Sin embargo, aunque la memoria en espera es la memoria que se puede liberar, no siempre la memoria se puede liberar rápidamente. Si intento escribir un archivo de 1GB en el disco, Windows lo pegará en un caché de disco en la memoria si es posible, y luego lo escribirá lentamente en el disco duro en el fondo. Si una aplicación necesita solicitar 50 MB de memoria adicional, pero no hay ninguna disponible porque este enorme caché de disco todavía se está vaciando, entonces la aplicación se bloqueará hasta que esté disponible. Mantener un pequeño búfer a mano le permite al sistema resolver este problema con un retraso mínimo desde el punto de vista del usuario.
fuente
Se llama planificación anticipada.
Escribir páginas de memoria en el archivo de paginación cuando todavía hay mucha RAM es algo bueno. Tan pronto como un programa solicite más memoria de la que hay libre, el sistema operativo puede comenzar a liberar espacio lo antes posible. Mejor prepararse ahora que más tarde.
Si el sistema operativo esperara, entonces se encuentra con un cuello de botella de rendimiento. Si un programa solicita más memoria de la que está disponible, ahora debe esperar hasta que el sistema operativo escriba el bloque de memoria modificado y luego liberarlos.
fuente
Hay una herramienta para configurar el caché de disco por SysInternal.
Lo puedes encontrar aquí:
http://technet.microsoft.com/en-us/sysinternals/bb897561.aspx
fuente
He tenido el archivo de página desactivado durante los últimos 7 años. En realidad es lo primero que hago después de una nueva instalación. Nunca tuve ningún problema con eso. (En realidad, tuve un juego llamado "Titan Quest" que realizó una comprobación muy estúpida al inicio, así que creé un archivo de paginación de 4 MB solo para hacerlo feliz y apagué PF más tarde). En cuanto a la pregunta original. Windows usa nuestra RAM para caché de E / S de disco. Por alguna razón, cree que la memoria caché del disco es igualmente importante para el código y los datos de los programas activos. Y no hay forma de limitar el tamaño del caché del disco. Está ahí por diseño y no podemos hacer nada al respecto ... ¡Oh, espera! ¡Podemos! Simplemente apague el archivo de paginación. ¿Ejecuta aplicaciones pesadas en RAM? Compre más RAM o cierre una aplicación antes de iniciar otra. Puede usar Process Explorer para ver cuánta memoria se usa en un momento dado.
fuente
Los argumentos ( aquí y aquí ) para mantener y usar el archivo de página, incluso si hay suficiente RAM son:
Con el monitor de recursos de Windows es posible ver cuánta RAM se usa para el almacenamiento en caché (se muestra como "En espera").
Si ve que su RAM se usa realmente o está en espera, el archivo de página es útil para usted. Si la combinación de sus tareas y la RAM disponible es tal que una parte importante de la memoria aparece como no utilizada ("Gratis"), creo que no hay necesidad de moler el disco duro solo por respeto a alguien que "sabe mejor y lo dijo aquí ".
fuente
Faltan todos estos comentarios y la respuesta correcta. Apague su archivo de página. No es necesario con 8GB de RAM, y si necesita más RAM, cómprelo. Bastante simple en realidad.
fuente