Exchange und der Hauptspeicher

PAE und Exchange

Die PAE-Unterstützung bewirkt an sich noch nichts Negatives. Aus Gründen der Systemsicherheit ist sie im Zusammenhang mit DEP sogar zu begrüßen. Problematisch wird es, wenn das System tatsächlich über mehr als 4 GB physischen Speicher verfügt. In diesem Fall muss es zusätzliche Informationen speichern, um die erweiterten Daten korrekt adressieren zu können. Dies führt zu einem erhöhten Bedarf an Kernelspeicher.

Die Praxis hat ergeben, dass Exchange kaum einen Leistungsgewinn durch das Vergrößern des Hauptspeichers über 4 GB erzielt, da die einzelnen Prozesse nur 4 GB Adressraum besitzen. Ganz im Gegenteil: Durch den erhöhten Verwaltungsaufwand, den PAE und Hot Add Memory verursachen, wird schneller eine Speicherfragmentierung im Kernelspeicher erreicht. Diese führt dann zu Leistungsproblemen des Servers. Durch Weglassen des /3GB-Schalters auf Postfach-Servern ließe sich zwar der Kernelspeicher für die Prozesse vergrößern, damit würde aber gleichzeitig der Anwendungsspeicher reduziert, was wiederum die Leistung des Postfachspeichers beeinträchtigen würde.

Es wird deshalb empfohlen, auf Servern nicht mehr als 4 GB Hauptspeicher zu verwenden. Mehr vorhandener Speicher sollte aus dem Server entfernt werden. Ersatzweise kann Windows durch Verwendung des Schalters /MAXMEM=4096 in der Datei Boot.ini von der Verwendung des zusätzlichen Speichers abgehalten werden. Dadurch werden keine zusätzlichen Systemressourcen für die Verwaltung des Zusatzspeichers eingesetzt.

Die Verwendung einer Hot Add RAM-Funktion der Serverhardware, also der Möglichkeit, den Speicher im laufenden Betrieb zu erweitern, hat einen vergleichbaren Effekt. Hier muss Windows damit rechnen, zur Laufzeit mehr als 4 GB Hauptspeicher zur Verfügung zu haben. Das System wird deshalb von Anfang an so arbeiten, als wäre dies bereits der Fall. Für Systeme vor Windows 2003 SP1 sollte deshalb die Hot Add RAM-Unterstützung im BIOS abgeschaltet werden. Mit Windows 2003 SP1 kann die Funktion auch innerhalb des Betriebssystems deaktiviert werden. Vor SP1 funktionierte dies durch einen Systemfehler noch nicht richtig. Zur Deaktivierung muss in der Registry unter HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management der DWORD-Eintrag DynamicMemory auf den Wert 1 gesetzt werden.

Netzwerkverbindungen

Für den Verbrauch von Kernelspeicher auf Netzwerkservern stellen die verbundenen Clients einen entscheidenden Faktor dar. Für jeden verbundenen Client muss der Server die Zugangsrechte des Clients in Form eines Client Access Token für die Dauer der Verbindung speichern. Diese Token werden im Kernelspeicher abgelegt. Jedes Token enthält dabei neben dem Hash des Benutzerkennworts auch sämtliche Gruppenzugehörigkeiten des Kontos in der betreffenden Domäne. Dies bedeutet, dass wenn in einer Umgebung die Benutzer vielen Gruppen zugeordnet werden, die Länge der Token zunimmt. Dies wirkt sich umso mehr aus, da die Länge der Token nicht fließend zunimmt, sondern sich schrittweise erhöht. Die Größe eines Tokens beträgt deshalb entweder 4 KByte, 8 KByte, 12 KByte und so weiter.

Allerdings sind die Gruppenzugehörigkeiten, die sich ein Server merkt, nur diejenigen, die aus der eigenen Domäne stammen. Eine Möglichkeit, die Größe der Token zu reduzieren, besteht deshalb darin, die Postfach-Server und die Clients in verschiedenen Domänen zu installieren.

Ein Umstand, der bei der Betrachtung von Netzwerkverbindungen eines Servers nicht außer Acht gelassen werden sollte, ist die Anzahl der Verbindungen eines einzelnen Clients. Outlook 2003 allein baut im Cached-Modus fünf bis sechs parallele Verbindungen auf. Für jede dieser Verbindungen speichert der Server ein eigenes Access Token im Kernelspeicher. Zusatzprogramme wie Messenger, Desktop- Suchprogramme oder sonstige Outlook-Add-Ins bauen eventuell zusätzlich eigene Verbindungen auf, die wiederum Kernelspeicher verbrauchen. Eine Kontrolle der parallel laufenden Client-Programme kann deshalb ebenfalls die Kernelspeicher-Belastung reduzieren.