Microsoft aconseja utilizar el modificador / 3Gb en Boot.ini para obtener más memoria para un proceso que se ejecuta en un sistema de 32 bits.
Actualmente necesito mucha memoria para el proceso devenv (Visual Studio 2008) porque tengo una solución compleja que tiene muchos proyectos y formas y consume muchos recursos en tiempo de diseño.
Me gustaría preguntar, si alguien sabe, cuáles son los aspectos negativos del uso del modificador / 3Gb, ¿hay alguna circunstancia en la que no se recomiende usarlo?
windows
performance
memory
32-bit
Bogdan_Ch
fuente
fuente
Respuestas:
En una máquina de escritorio, probablemente no haya problemas. El grupo paginado del kernel es más pequeño en una máquina W2K3 / WXP con el conjunto de conmutadores / 3GB. Esto probablemente no sea un problema para una máquina de escritorio porque no debería estar a punto de agotar su grupo paginado de kernel. En un servidor, agotar el grupo paginado del núcleo le causará problemas, y es mucho más probable que pueda agotarlo.
Aquí hay algunos buenos detalles sobre las consideraciones de memoria del núcleo asociadas con el modificador / 3GB. Si realmente lo desea, puede iniciar el depurador del núcleo NT y perfilar su sistema antes y después del cambio con la información de este documento: http://blogs.technet.com/markrussinovich/archive/2009/03/26 /3211216.aspx
fuente
Tendrá menos memoria disponible para su núcleo: el conmutador ajusta el espacio de direcciones del modo de núcleo / división del espacio de direcciones del modo de usuario, anteriormente de 2 GB a 2 GB, de 1 GB a 3 GB. Lea la publicación de Raymond Chen en / 3GB, y los seguimientos, antes de continuar.
fuente
Antes de realizar cualquier cambio, primero debe verificar si los procesos que desea ejecutar están vinculados con el indicador LARGEADDRESSAWARE. Con la bandera, no habrá cambios en la forma en que el proceso usa la memoria.
Puede usar las herramientas del SDK para esto:
Los encabezados que se escupen deben incluir:
Hice la comprobación en devenv.exe y en VS2008 incluye la bandera.
fuente
Un montón de inconvenientes. De manera predeterminada, Windows asignará un grupo de memoria de 4GB a cada proceso, que se divide 50/50 entre los procesos en modo kernel (común a todas las aplicaciones) y los procesos en modo usuario (únicos para cada aplicación) (explicación simplificada). Por lo tanto, una aplicación que se ejecuta en el sistema tiene 2 GB de memoria para jugar, mientras que el sistema en sí tiene sus propios 2 GB. Nota importante: este segundo 2GB es el mismo 2GB para todas las aplicaciones que se ejecutan en el sistema.
El modificador / 3GB ajusta la división para que el modo de núcleo obtenga 1 GB y el modo de usuario obtenga 3 GB.
Ahora considere las aplicaciones que está ejecutando. Algunos requerirán más espacio en modo kernel, otros requerirán más espacio en modo usuario. Como el grupo de modo de kernel se comparte, puede quedarse sin memoria rápidamente si está ejecutando aplicaciones que presionan la memoria del modo de kernel. Por otro lado, si sus aplicaciones usan mucha memoria en modo de usuario, la implementación de / 3GB les dará el margen que necesitan.
Por lo tanto, se trata realmente de la naturaleza de las aplicaciones que desea ejecutar. La regla de oro es consultar al proveedor de la aplicación y leer la documentación; en particular, si el proveedor de la aplicación no tiene una recomendación de ninguna manera, debe comenzar a sospechar ... ¿han probado adecuadamente su aplicación o no? Esto es algo básico que todo vendedor debe saber.
Hay una muy buena discusión de todo aquí: http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx
En su caso particular, creo que cambiar a 64 bits y obtener más RAM será una solución más viable, ya que / 3GB realmente no le dará lo que desea (¿funciona incluso en XP?)
fuente
Lo hemos usado en un par de sistemas que ejecutaban aplicaciones de procesamiento de imágenes en muchas imágenes grandes, y nunca notamos ningún problema. En cualquier situación en la que necesite el Gig adicional de memoria de la aplicación, probablemente dejará que la aplicación se ejecute y no haga nada más con el sistema, por lo que probablemente no habrá mucho impacto.
fuente
Lo he visto interferir con las tarjetas de video de maneras extrañas. Pero cualquier controlador puede comportarse mal con este interruptor si no está escrito correctamente.
A veces, estos problemas pueden solucionarse con la adición del modificador / USERVA.
http://support.microsoft.com/kb/319043
http://support.microsoft.com/kb/833721
http://support.microsoft.com/kb/839490
http://support.microsoft.com/kb / 316739
fuente
Solo funciona de manera confiable (excepto para la depuración de controladores, etc.) en un sistema operativo de servidor empresarial para binarios LARGEADDRESSAWARE.
Devenv no es un binario. SQL Server y Exchange son, por ejemplo.Necesitaría un sistema operativo x64 bit
y unaediciónVS x64: se detecta LARGEADDRESSAWARE en x64 para romper el límite de 2 GB.fuente