Dirección de Windows Server de 32 bits> 4 GB de RAM: ¿cómo?

8

Esto es nuevo para mí. Siempre tuve la impresión de que el sistema operativo de 32 bits solo podía abordar 2 ^ 32, es decir, 4 GB de RAM. Período.

Pero, ¿qué es esto ? Http://www.crucial.com/uk/kb/answer.aspx?qid=3743&click=true ?

¿Cómo es esto posible? ¿Y esto todavía significa> 4 GB por proceso? es decir, si tengo IIS, ¿se puede asignar ASP.NET más de 4 GB?

Editar: Gracias por las respuestas. Para poner esto en contexto, esto es para el desarrollo web. Entonces, ¿parece que w3wp.exe (Proceso de trabajo ASP.NET) seguirá estando limitado a 4 GB? ¿Es esto cierto?

Gracias Duncan

Duncan
fuente
Un poco de búsqueda en Google puede generar citas razonables que afirman que IIS no es compatible con AWE, por lo que creo que es bastante seguro asumir que no puede asignarle más de 3 GB (4 GB - gastos generales del sistema).
ConcernedOfTunbridgeWells

Respuestas:

14

La MMU en algunos procesadores de 32 bits puede admitir más de 4 GB de RAM física, aunque un solo proceso solo puede ver 4 GB a la vez en su espacio de direcciones virtuales. Una CPU de este tipo puede equiparse con más de 4 GB de RAM y puede admitir múltiples procesos utilizando más de 4 GB de RAM en total. Sin embargo, un solo proceso solo puede usar 4 GB de RAM (menos algunos gastos generales del sistema operativo) en un momento dado.

En Xeon, esta instalación se conoce como Extensión de dirección física (PAE) y algunos sistemas operativos tienen API que permiten que un proceso manipule la MMU para intercambiar memoria física dentro y fuera del espacio de direcciones virtuales del proceso. En Windows, esta API se conoce como Extensiones de ventana de dirección (AWE), pero no está disponible en todas las versiones de Windows. Linux y otras especies de Unix admiten un mecanismo similar.

Para utilizar esta función, el programa debe estar diseñado explícitamente para admitirlo: AWE no expande automáticamente el espacio de direcciones virtuales del proceso. Por ejemplo, ciertas versiones de SQL Server lo admiten, aunque no estoy al tanto de que IIS lo haga.

EDITAR: Aquí vamos. Lo encontré. Esta publicación en Stackoverflow se vincula con más detalles sobre la mecánica de PAE.

Edición 2: si se cree en esta publicación en el foro , IIS no tiene soporte para AWE.

Preocupado por TunbridgeWells
fuente
2

Solo para tenerlo en cuenta aquí, las versiones superiores de Windows 2003 (Enterprise y Data Center) funcionan con> 4 GB. Tenía una HP DL380 con 14 GB de RAM y W2K3 EE vio todos los 14 GB. VMWare Server pudo usar más de 4 GB. Reemplazamos W2K3 con ESXi 3.5 U3 y puede usar todos los 14GB.

Según mi lectura, Microsoft intentó habilitarlo en otras versiones de Windows (como XP) y descubrió que muchos controladores tenían problemas cuando la memoria era> 4GB. Al menos parte del problema era DMA (las direcciones de memoria al hardware se truncarían a 32 bits y comenzarían a corromper la memoria). Así que hubo un SP que eliminó PAE para la mayoría de las versiones anteriores de Windows para evitar problemas de estabilidad.

Walter
fuente