performance - recomendada - memoria virtual windows 7
¿La memoria virtual sigue siendo relevante en el mundo actual de RAM económica? (11)
Alguna pedantería: la memoria virtual no es solo el archivo de paginación. El término abarca una amplia gama de técnicas que le dan al programa la ilusión de que tiene un solo espacio de direcciones contiguas, algunas de las cuales son el código del programa, algunas de las cuales son datos y algunas son DLL o archivos mapeados en la memoria.
Por lo tanto, a su pregunta inicial: sí, se requiere memoria virtual. Es lo que hace que el sistema operativo moderno funcione.
Se introdujo la memoria virtual para ayudar a ejecutar más programas con memoria limitada. Pero en el entorno actual de RAM económica, ¿sigue siendo relevante?
Dado que no habrá acceso al disco si está deshabilitado y todos los programas serán residentes de memoria, ¿no mejorará el rendimiento y los tiempos de respuesta del programa?
¿Existe algún requisito esencial para la memoria virtual en Windows aparte de ejecutar más programas como se indicó anteriormente? Algo ventanas internas que no conocemos.
Desafortunadamente, todavía es necesario porque el sistema operativo Windows tiene una tendencia a ''sobrecaching''.
Además, como se indicó anteriormente, 2GB no es suficiente para considerar desactivarlo. Diablos, probablemente no lo apagaría hasta que tuviera 8GB o más.
G-Man
No deshabilite la memoria virtual. 2GB no es suficiente para siquiera considerar esto. De todos modos, siempre debe mantener la memoria virtual encendida incluso si tiene suficiente, ya que solo se utilizará cuando realmente la necesite. Es mucho mejor estar a salvo que lamentar, ya que NO tenerlo activo significa que simplemente golpeas una pared, mientras que tenerlo activo significa que tu computadora comienza a intercambiarse al disco duro pero continúa funcionando.
Sí, porque es la base de todo el paginado bajo demanda que ocurre en un sistema operativo moderno, no solo en Windows.
Windows siempre usará toda su memoria, si no fuera por las aplicaciones, entonces para almacenar todo lo que lea en su disco duro. Porque si esa memoria no se usa, estás desperdiciando tu inversión en memoria. Básicamente, Windows usa su memoria RAM como un gran caché de grasa para sus discos duros. Y esto sucede todo el tiempo, ya que las páginas relevantes solo se llevan a la memoria principal cuando se dirige el contenido de esa página.
Su pregunta es realmente sobre el uso de un archivo de página, y no de memoria virtual, como dijo kdgregory. Probablemente, el uso más importante para la memoria virtual es que el sistema operativo puede proteger una vez que la memoria del proceso de otra memoria de procesos, al tiempo que le da a cada proceso la ilusión de un espacio de direcciones virtual plano y contiguo. Las direcciones físicas reales pueden fragmentarse y se fragmentarán, pero las direcciones virtuales aparecerán contiguas.
Sí, la memoria virtual es vital. El archivo de la página, tal vez no.
Grrr. El espacio en disco probablemente siempre será más económico que la RAM. Una de las computadoras de mi laboratorio tiene 512 MB de RAM. Eso solía ser suficiente cuando lo conseguí, pero ahora se ha reducido a un intercambio de rastreo y tengo que poner más RAM en él. No estoy ejecutando más programas de software ahora de lo que estaba entonces, pero todos se han vuelto más inflados, y a menudo engendran más programas "daemon" que simplemente se quedan sentados sin hacer nada más que esperar algún evento y agotar la memoria. Miro mi lista de procesos y la columna "en memoria" para el explorador de archivos es de 40MB. Para Firefox es 162MB. El "planificador de actualización" de Java jusched.exe
usa otros 3.6MB. Y eso es solo la memoria física, estos números no incluyen el espacio de intercambio.
Por lo tanto, es realmente importante guardar la memoria más rápida y más cara para lo que no se puede cambiar. Puedo ahorrar decenas de GB en mi disco duro para el espacio de intercambio.
La memoria se ve lo suficientemente barata como para que el sistema operativo y muchos programas no intenten optimizar más. Por un lado, es genial porque hace que los programas sean más fáciles de mantener y depurables y más rápidos de desarrollar. Pero odio tener que seguir poniendo más RAM en mi computadora.
La pregunta es, realmente, ¿cuál es el uso de un archivo de paginación teniendo en cuenta la cantidad de memoria que tienen las computadoras modernas y lo que está pasando bajo el capó en el sistema operativo.
Es común que el administrador de tareas de Windows muestre que no se está usando mucha memoria física, pero ¿tiene muchas fallas en la página? Win32 nunca asignará toda su memoria física. Siempre ahorra algo para las nuevas necesidades de recursos. Con un gran archivo de paginación frente a un pequeño archivo de paginación, Win32 será más lento para asignar memoria física a un proceso.
Durante unos días he estado usando un archivo de paginación muy pequeño (200 MB fijo) en Vista con 3 GB de memoria física direccionable. No tuve choques ni problemas. No he probado cosas como la edición de videos grandes o muchos procesos diferentes abiertos al mismo tiempo. No recomendaría ningún archivo de páginas, ya que el sistema operativo nunca puede mezclar páginas en la memoria física, lo que lleva al desarrollo de agujeros. Un archivo de paginación grande es a prueba de fallas para las personas que no sabrían cómo aumentar manualmente el archivo de paginación si aparece una advertencia de poca memoria o si el sistema operativo se cuelga.
Algunos puntos: el kernel utilizará parte de la memoria física y esto se compartirá a través de la asignación de VM con todos los demás procesos. Otros procesos estarán en la memoria física restante. VM hace que cada proceso vea un espacio de memoria de 4GB, el sistema operativo en los 2GB inferiores. Cada proceso necesitará mucho menos que los 4GB de memoria física, esta cantidad es su requerimiento de memoria comprometida. Al programar, un malloc o nuevo reservará memoria pero no la comprometerá. Cosas como la primera escritura en la memoria lo cometerán. Algún tipo de memoria está comprometida de manera inmediata por el sistema operativo para cada proceso.
Una buena explicación en http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx
Para dimensionar de manera óptima su archivo de paginación, debe iniciar todas las aplicaciones que ejecuta al mismo tiempo, cargar conjuntos de datos típicos y luego anotar el pico de carga de compromiso (o ver este valor después de un período en el que sabe que se alcanzó la carga máxima) . Establezca el mínimo del archivo de paginación para que sea ese valor menos la cantidad de RAM en su sistema (si el valor es negativo, elija un tamaño mínimo para permitir el tipo de volcado de bloqueo para el que está configurado). Si desea tener algo de espacio para demandas de compromisos potencialmente grandes, establezca el máximo para duplicar ese número.
Dado que no habrá acceso al disco si está deshabilitado y todos los programas serán residentes de memoria, ¿no mejorará el rendimiento y los tiempos de respuesta del programa?
No estoy totalmente seguro de otras plataformas, pero tenía una máquina Linux donde el espacio de intercambio se había desactivado accidentalmente. Cuando un proceso usó toda la memoria disponible, la máquina se congeló durante 5 minutos, el promedio de carga llegó a números absurdos y el asesino OOM kernel se inició y terminó varios procesos. Reaplicar el intercambio solucionó esto por completo.
Nunca experimenté un intercambio innecesario al disco, solo sucedió cuando utilicé toda la memoria disponible. Los sistemas operativos modernos (incluso las distribuciones de Linux de 5-10 años de antigüedad) se ocupan del espacio de intercambio de forma bastante inteligente y solo lo utilizan cuando es necesario.
Probablemente pueda pasar sin espacio de intercambio, ya que es bastante raro alcanzar 4 GB de uso de memoria con un solo proceso. Con un sistema operativo de 64 bits y digamos 8GB de RAM, es aún más raro ... pero no tiene sentido deshabilitar el espacio de intercambio, no se gana mucho (si acaso) y cuando se queda sin memoria física sin él, las cosas malas suceden ..
Básicamente, cualquier sistema operativo medio decente solo debería usar el intercambio de disco (o memoria virtual) cuando sea necesario. Al deshabilitar el intercambio solo se detiene el sistema operativo que puede recurrir a él, lo que hace que el asesino OOM ataque (y por lo tanto la pérdida de datos cuando finalizan los procesos).
La memoria virtual es mucho más que simplemente una extensión de RAM. En realidad, la memoria virtual es un sistema que virtualiza el acceso a la memoria física. Las aplicaciones se presentan con un entorno coherente que es completamente independiente del tamaño de la RAM. Esto ofrece una serie de ventajas importantes, aparte de la mayor disponibilidad de memoria. La memoria virtual es una parte integral del sistema operativo y no se puede deshabilitar.
El archivo de paginación NO es memoria virtual. Muchas fuentes han afirmado esto, incluidos algunos artículos de Microsoft. Pero está mal. Puede desactivar el archivo de paginación (no recomendado) pero esto no deshabilitará la memoria virtual.
La memoria virtual se ha utilizado en sistemas grandes desde hace unos 40 años y no va a desaparecer en el corto plazo. Las ventajas son demasiado grandes. Si se eliminara la memoria virtual, todas las aplicaciones actuales de 32 bits (y 64 bits también) quedarían obsoletas.
Larry Miller Microsoft MCSA
La memoria virtual es una red de seguridad para situaciones en las que no hay suficiente memoria RAM disponible para todas las aplicaciones en ejecución. Esto fue muy común hace algún tiempo y hoy en día, cuando puede tener grandes cantidades de RAM del sistema, lo es menos.
Algunos dicen que deben dejar el archivo de la página solo y dejar que sea administrado por Windows. Algunas personas dicen que incluso si tienes una memoria RAM grande, mantener un gran archivo de paginación no puede doler porque no se usará. Eso no es cierto ya que Windows hace una paginación preventiva para prepararse para picos de demanda de memoria. Si esa demanda nunca llega, esto es solo una pérdida de actividad HDD y todos sabemos que HDD es el componente más lento de cualquier sistema. La paginación preventiva con suficiente RAM no tiene sentido y lo único que hace es ralentizar cualquier otra actividad de disco que ocurra al mismo tiempo. Sin mencionar el desgaste adicional del disco. Además de archivo de página grande significa gigabytes de espacio en disco bloqueado.
Mucha gente señala el artículo de Mark Russinovich para respaldar su firme creencia de que el archivo de página no debería desactivarse en ninguna circunstancia y tantas personas inteligentes en Microsoft lo han pensado tan concienzudamente que nosotros, pequeños desarrolladores, nunca deberíamos cuestionar la política predeterminada de Windows en tamaño de archivo de página. Pero incluso el propio Russinovich escribe:
Establezca el mínimo del archivo de paginación para que sea ese valor (Carga máxima de confirmación) menos la cantidad de RAM en su sistema (si el valor es negativo, elija un tamaño mínimo para permitir el tipo de volcado de emergencia para el que está configurado).
Por lo tanto, si tiene grandes cantidades de RAM y su carga de compromiso de peek nunca es más del 50% de su RAM, incluso cuando abre todas sus aplicaciones a la vez y más, no es necesario tener ningún archivo de página. Entonces, en esas situaciones, el 99.99% de las veces, nunca necesitará más memoria que su RAM.
Ahora no defiendo la desactivación del archivo de página, pero tenerlo en tamaño de RAM o más es solo una pérdida de espacio y actividad innecesaria que puede ralentizar algo más. El archivo de página le proporciona una red de seguridad en aquellas situaciones raras (con mucha RAM) cuando el sistema necesita más memoria y para evitar que se agote la memoria, lo que probablemente hará que su sistema sea inestable e inutilizable.
La única necesidad real de archivo de página es volcados de kernel. Si necesita volcados de kernel completos, necesita al menos 400 MB de archivos de paginación. Pero si está satisfecho con mini volcados, el mínimo es de 16 MB. Entonces para tener lo mejor de ambos mundos que es
- prácticamente sin archivo de página
- red de seguridad de la memoria virtual
Sugeriría configurar Windows para mini vaciados de kernel, establecer el tamaño mínimo de archivo de página a 16 MB y el máximo a lo que desee. De esta forma, el archivo de página prácticamente no se utilizaría, pero se expandiría automáticamente después del primer error de memoria para evitar que el sistema no se pueda utilizar. Si por casualidad tiene al menos un problema de falta de memoria, debería reconsiderar su tamaño mínimo. Si realmente quieres estar seguro, haz un archivo de página mínimo. tamaño 1 GB. Para los servidores, sin embargo, debes tener más cuidado.