endereço do Windows Server de 32 bits 4 GB de RAM - Como?

8

Isso é novidade para mim. Eu sempre tive a impressão de que o sistema operacional de 32 bits só poderia resolver 2 ^ 32, ou seja, 4 GB de RAM. Período.

Mas o que é isso - link ?

Como isso é possível? E isso ainda significa > 4GB por processo? ou seja, se eu tiver o IIS, o ASP.NET pode ser alocado mais de 4 GB?

Edit: Obrigado pelas respostas. Para colocar isso em contexto, isso é para desenvolvimento web. Então parece que o w3wp.exe (Processo de trabalho do ASP.NET) ainda estará limitado a 4 GB? Isso é verdade?

Obrigado Duncan

    
por Duncan 02.07.2009 / 13:16

3 respostas

14

A MMU em alguns processadores de 32 bits pode realmente suportar mais de 4 GB de RAM física, embora um único processo possa ver apenas 4 GB de cada vez em seu espaço de endereço virtual. Uma CPU deste tipo pode ser equipada com mais de 4GB de RAM e pode suportar múltiplos processos usando mais de 4GB de RAM no total. No entanto, um único processo pode usar apenas 4 GB de RAM (menos alguma sobrecarga do sistema operacional) a qualquer momento.

No Xeon, esse recurso é conhecido como Physical Address Extension (PAE) e alguns sistemas operacionais têm APIs que permitem uma processo para manipular a MMU para trocar memória física dentro e fora do espaço de endereço virtual do processo. No Windows, esta API é conhecida como Extensões de janela de endereço (AWE), mas não está disponível em todos versões do Windows. O Linux e outras espécies do Unix suportam um mecanismo similar.

Para usar este recurso, o programa deve ser explicitamente projetado para suportá-lo - o AWE não expande automaticamente o espaço de endereço virtual do processo. Por exemplo, certas versões do SQL Server o suportam, embora eu não esteja ciente do IIS fazendo isso.

EDIT: Aqui vamos nós. Encontrei. Esta publicação no Stackoverflow tem links para mais detalhes sobre a mecânica do PAE.

Editar 2: Se esta postagem no fórum for Acredita então IIS não tem suporte para AWE.

    
por 02.07.2009 / 13:26
4

É possível abordar mais de 4 GB em 32 bits com o PAE . Para o limite de memória de processo, você pode ler Informações gerais sobre o Windows de Bruce Sanderson ; RAM, memória virtual, PageFile e todas essas coisas

Para memória por processo, leia as seções 1.2 ("Espaços e processos de endereços") e 2.5 ("Ajuste de memória de aplicativos - / 3GB") no link Informações gerais do Windows acima.

    
por 02.07.2009 / 13:26
2

Apenas para registrar aqui, as versões superiores do Windows 2003 (Enterprise e Data Center) funcionam com > 4GB. Eu tinha um HP DL380 com 14GB de RAM e W2K3 EE vi todos os 14GB. O VMWare Server conseguiu usar mais de 4 GB. Substituímos o W2K3 pelo ESXi 3.5 U3 e ele é capaz de usar todos os 14GB.

De minha leitura, a Microsoft tentou habilitá-lo em outras versões do Windows (como o XP) e descobriu que muitos drivers tinham problemas quando a memória era de > 4GB. Pelo menos parte do problema foi DMA (endereços de memória para hardware seriam truncados para 32 bits e começar a corromper a memória). Então, houve um SP que se livrou da PAE para a maioria das versões mais antigas do Windows para evitar problemas de estabilidade.

    
por 03.07.2009 / 02:51