Ejecuto Visual Studio 2010 en un sistema de 32 bits y regularmente tengo problemas con la falta de memoria virtual, por lo que ya no puedo hacer cosas como copiar / pegar en VS.
Verifiqué algunas opciones y la línea de Microsoft en esto indicaba que se ejecutaba con menos extensiones abiertas, y si eso no funcionaba, use el comando bcedit / set IncreaseUserVA 3072.
Eso pareció mitigar el problema, sin embargo, después de aproximadamente un día de uso, de repente Windows comienza a decirme que me he quedado sin espacio en disco, en una unidad con más de 100 Gb disponibles. Por ejemplo, dejaría de copiar un archivo, diciendo que no había espacio para copiarlo. Sin embargo, hacer clic en "reintentar" tendría éxito. Muchos otros programas que escribían cosas en el disco se caían regularmente. (Incluyendo Skype ... ¡¿por qué estabas escribiendo en el disco todo el tiempo, Skype ?!)
Ejecuté chkdsk e hice otras verificaciones básicas antes de concluir que mi cambio de configuración debe ser responsable. Afortunadamente, la restauración de la configuración predeterminada funcionó y ahora estoy nuevamente en acción.
La mayoría de los artículos (excepto, en particular, de Microsoft) sobre IncreaseUserVA dicen "Use bajo su propio riesgo", y claramente lo hice, y perdí. Pero, ¿alguien puede explicar por qué se exhibió este comportamiento / qué puede salir tan mal con lo que parece ser un cambio legítimo en la configuración de Windows 7?
Para el registro: la máquina era una laptop Dell Vostro con una unidad de disco de 260Gb / 5400rpm, 3.2Gb (efectiva) RAM, ejecutando Windows 7 con todas las actualizaciones anteriores a SP1.
fuente
Respuestas:
Windows divide los 4 GB de espacio de direcciones disponibles en un sistema de 32 bits por la mitad, de modo que el núcleo obtiene 2 GB y el programa obtiene 2 GB (está virtualizado, por lo que cada programa obtiene 2 GB). El comando "bcedit / set IncreaseUserVA 3072" cambia la partición para que cada programa obtenga 3 GB y el espacio del núcleo solo obtenga 1 GB. En general, esto funciona bien, pero como notó, puede tener problemas. Por lo general, es un controlador que se ejecuta en el espacio del kernel que ha sido codificado para asumir que tiene 2 GB de espacio de direcciones disponibles que causa los problemas cuando intenta usar los 2 GB de espacio de direcciones sin molestarse en comprobar si puede.
fuente
Si tiene 8 GB de RAM y necesita un mayor espacio de direcciones de usuario, la mejor solución es instalar el servidor Windows 2003. No se requieren ajustes y sus aplicaciones de 32 bits obtienen 4 GB de espacio de direcciones cada una. Hay algunos controladores que no les gusta esto y es por eso que MS no habilita esto en el sistema operativo de escritorio. Los bloqueos causados por tener un controlador que no lo admite son impredecibles y difíciles de diagnosticar, y se deben principalmente a controladores que no se utilizan en el entorno del servidor.
Es posible modificar el kernel de Vista / Win7 y agregarlo como opción al menú de inicio para obtener la misma memoria que está disponible en las ediciones del servidor de 32 bits:
www.geoffchappell.com/notes/windows/license/memory.htm
Hay un parche prefabricado que hace estas cosas, pero no lo he probado y no hay fuente para ello ...
fuente
He estado configurando IncreaseUserVa en ocasiones en 3g para poder compilar un gran proyecto. Noto que si el sistema entra en hibernación, se vuelve muy inestable al despertar. Los servidores generalmente no hibernan, supongo.
fuente