32-Bit-Windows Server-Adresse> 4 GB RAM - Wie?

8

Das sind Neuigkeiten für mich. Ich hatte immer den Eindruck, dass ein 32-Bit-Betriebssystem nur 2 ^ 32, dh 4 GB RAM, adressieren kann. Zeitraum.

Aber was ist das - http://www.crucial.com/uk/kb/answer.aspx?qid=3743&click=true ?

Wie ist das möglich? Und bedeutet das immer noch> 4 GB pro Prozess? Kann ASP.NET mehr als 4 GB zugewiesen werden, wenn ich über IIS verfüge?

Edit: Danke für die Antworten. Um dies in einen Zusammenhang zu bringen, ist dies für die Webentwicklung. Es sieht also so aus, als ob w3wp.exe (ASP.NET Worker Process) immer noch auf 4 GB beschränkt ist. Ist das wahr?

Danke Duncan

Duncan
quelle
Ein wenig googeln kann zu vernünftigen Zitaten führen, die behaupten, dass IIS AWE nicht unterstützt. Ich denke, es ist ziemlich sicher anzunehmen, dass Sie ihm nicht mehr als 3 GB (4 GB - System-Overhead) zuweisen können.
ConcernedOfTunbridgeWells

Antworten:

14

Die MMU auf einigen 32-Bit-Prozessoren kann tatsächlich mehr als 4 GB physischen RAM unterstützen, obwohl ein einzelner Prozess jeweils nur 4 GB in seinem virtuellen Adressraum sehen kann. Eine CPU dieser Art kann mit mehr als 4 GB RAM ausgestattet werden und mehrere Prozesse mit insgesamt mehr als 4 GB RAM unterstützen. Ein einzelner Prozess kann jedoch zu einem bestimmten Zeitpunkt nur 4 GB RAM (abzüglich eines gewissen Overheads des Betriebssystems) verwenden.

Auf dem Xeon ist diese Funktion als PAE ( Physical Address Extension ) bekannt, und einige Betriebssysteme verfügen über APIs, mit denen ein Prozess die MMU manipulieren kann, um physischen Speicher in den virtuellen Adressraum des Prozesses hinein und aus diesem heraus zu tauschen. Unter Windows wird diese API als Address Windowing Extensions (AWE) bezeichnet, ist jedoch nicht in allen Windows-Versionen verfügbar. Linux und andere Unix-Arten unterstützen einen ähnlichen Mechanismus.

Um diese Funktion nutzen zu können, muss das Programm explizit so konzipiert sein, dass es sie unterstützt. AWE erweitert den virtuellen Adressraum des Prozesses nicht automatisch. Beispielsweise unterstützen bestimmte Versionen von SQL Server dies, obwohl mir nicht bekannt ist, dass IIS dies tut.

EDIT: Los geht's. Fand es. Dieser Beitrag auf Stackoverflow enthält weitere Informationen zur Mechanik von PAE.

Bearbeiten 2: Wenn dieser Forumsbeitrag geglaubt werden soll, hat IIS keine Unterstützung für AWE.

ConcernedOfTunbridgeWells
quelle
4

Mit PAE ist die Adressierung von mehr als 4 GB auf 32 Bit möglich . Informationen zur Prozessspeicherbeschränkung finden Sie in den allgemeinen Windows-Informationen von Bruce Sanderson. RAM, virtueller Speicher, PageFile und all das Zeug

Informationen zum Speicher pro Prozess finden Sie in den Abschnitten 1.2 ("Adressräume und Prozess") und 2.5 ("Anwendungsspeicheroptimierung - / 3 GB-Schalter") unter dem obigen Link Allgemeine Windows-Informationen.

Radius
quelle
2

Um es hier zu vermerken: Die High-End-Versionen von Windows 2003 (Enterprise und Data Center) funktionieren mit> 4 GB. Ich hatte einen HP DL380 mit 14 GB RAM und W2K3 EE sah alle 14 GB. VMWare Server konnte mehr als 4 GB verwenden. Wir haben W2K3 durch ESXi 3.5 U3 ersetzt und es kann alle 14 GB verwenden.

Nach meiner Lektüre hat Microsoft versucht, es unter anderen Windows-Versionen (z. B. XP) zu aktivieren, und festgestellt, dass viele Treiber Probleme hatten, wenn der Arbeitsspeicher> 4 GB war. Zumindest ein Teil des Problems war DMA (Speicheradressen an Hardware würden auf 32 Bit abgeschnitten und würden den Speicher beschädigen). Es gab also einen SP, der PAE für die meisten älteren Windows-Versionen beseitigte, um Stabilitätsprobleme zu vermeiden.

Walter
quelle