DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 247904 - Geändert am: Montag, 22. März 2004 - Version: 2.0

Dieser Artikel wurde zuvor veröffentlicht unter D247904
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
247904  (http://support.microsoft.com/kb/247904/en-us/ ) How to Configure the Paged Address Pool and System Page Table Entry Memory Areas
Warnung: Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Erstellen Sie eine Sicherungskopie der Dateien System.dat und User.dat (unter Windows Millennium ebenfalls der Datei Classes.dat), bevor Sie die Registrierung bearbeiten. Vergewissern Sie sich, dass Sie die Registrierung wiederherstellen können, falls ein Problem auftritt. Informationen hierzu finden Sie in der integrierten Hilfe der Registrierungseditoren "Regedit.exe" oder "Regedt32.exe". Suchen Sie hier im Index nach "Wiederherstellen der Registrierung" oder nach "Wiederherstellen eines Registrierungsschlüssels". Wenn Sie mit Windows NT oder Windows 2000 arbeiten, sollten Sie zudem Ihre Notfalldiskette (Emergency Recovery Disk - ERD) aktualisieren. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
256986  (http://support.microsoft.com/kb/256986/DE/ ) Beschreibung der Microsoft Windows-Registrierung

Zusammenfassung

Dieser Artikel beschreibt, wie Sie die Größe der Speicherbereiche "Auslagerungsspeicher" und "System-Seitentabelleneintrag" (System-PTE) in Windows 2000-basierten Computern, die den Microsoft Terminalserver-Dienst ausführen, anpassen.

Weitere Informationen

Achtung: Die unkorrekte Verwendung des Registrierungseditors kann schwerwiegende, das gesamte System betreffende Probleme verursachen, die eine Neuinstallierung Ihres Betriebssystems erforderlich machen. Microsoft kann nicht dafür garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung. Microsoft kann keine Gewährleistungen oder Support für Probleme übernehmen, welche durch eine Manipulation der Windows- oder Windows NT-Registrierung verursacht wurden. Es ist Ihr eigenes Risiko, den Windows- oder Windows NT-Registrierungseditor Regedit.exe oder ähnliche Werkzeuge zur Manipulation der Windows- oder Windows NT-Registrierung zu verwenden.

Windows 2000 kann bis zu 2^32 Byte oder 4 Gigabyte (GB) Speicheradressraum direkt adressieren, unabhängig von der Größe des installierten physischen Arbeitsspeichers (RAM). Standardmäßig werden 2 GB dieses Adressraums jedem Prozess und 2 GB dem Kernel zugeordnet. Während für jeden Prozess in dem Computer separate 2 GB-Bereiche des Adressraums verwendet werden, ist der Großteil des 2 GB-Kernelbereichs global und bleibt unabhängig vom gerade aktiven Benutzermodus-Prozess gleich.

Der 2 GB-Kernelbereich enthält alle Systemdatenstrukturen und Systeminformationen. Daher kann der 2 GB-Adressraumbereich des Kernels die Anzahl der Systemdatenstrukturen und die Menge an Kernelinformationen begrenzen, die auf einem Computer gespeichert werden können, unabhängig von der Größe des installierten RAM.

Die zwei Datentypen, die sich einen Teil dieses 2 GB-Adressraums teilen, sind Auslagerungszuordnungen und Kernelstapelzuordnungen. Auslagerungszuordnungen sind Speicherzuordnungen, die von Kernelmoduskomponenten erstellt wurden. Kernelstapelzuordnungen sind im Kernel für jeden Thread erstellte Stapel, die zum Durchführen von Systemaufrufen dienen. Auslagerungszuordnungen werden im Auslagerungsbereich und Kernelstapelzuordnungen im System-PTE-Bereich erstellt.

Während diese unterschiedlichen Zuordnungen sich den gleichen Bereich teilen, wird die Partition zwischen ihnen beim Starten festgelegt. Wenn das Betriebssystem in einem dieser Bereiche nicht mehr genügend Speicher aufweist, kann der andere Bereich keinen Speicher abgeben, und es kann zu unerwarteten Fehlern bei Programmen kommen. Wenn also bei einem Windows 2000-basierten Computer unerwartete Fehler auftreten oder keine neuen Anmeldungen akzeptiert werden, und es liegen keine anderen Ressourcenbeschränkungen wie CPU- oder Datenträgerengpässe vor, ist es sehr wahrscheinlich, dass der Auslagerungsbereich oder der System-PTE-Bereich nicht mehr genügend Speicher aufweist. Da der System-PTE-Bereich auf einem Computer mit aktivierten Terminalserver-Diensten standardmäßig so groß wie möglich ausgelegt ist, ist die Einschränkung gewöhnlich auf nicht ausreichenden Auslagerungsadressraum zurückzuführen. Auf einigen Computern kann der System-PTE-Bereich allerdings kleiner konfiguriert werden, sodass diese Symptome gemildert werden und eine größere Anzahl von Benutzern auf den Computer zugreifen kann.

Gehen Sie folgendermaßen vor, um festzustellen, ob eine oder mehrere dieser Ressourcen auf Ihrem Computer nicht mehr ausreichen:
  1. Schließen Sie einen Kernel-Debugger an den Computer an.
  2. Verwenden Sie einen Texteditor, um den Parameter /DEBUG zu der Datei Boot.ini hinzuzufügen.
  3. Starten Sie den Computer neu.
Weitere Informationen zum Verwenden eines Kernel-Debuggers finden Sie in folgendem Artikel der Microsoft Knowledge Base:
151981  (http://support.microsoft.com/kb/151981/DE/ ) How to Set Up a Remote Debug Session Using a Null Modem Cable
Führen Sie Folgendes durch, wenn Sie glauben, dass das System einen Grenzwert erreicht hat:
  1. Unterbrechen Sie den Debugger.
  2. Geben Sie !vm ein und drücken Sie anschließend die [Eingabetaste].
  3. Wenn die Ausgabe des Debuggers Fehler anzeigt, geben Sie !reload ein und drücken Sie anschließend die [Eingabetaste], um sicherzustellen, dass die Zeichen korrekt sind.
Im Folgenden sehen Sie ein Beispiel für eine Debugsitzung. Die relevanten Daten sind zur Verdeutlichung in Fettdruck dargestellt:

*** Virtual Memory Usage ***
Physical Memory: 1032075 ( 4128300 Kb)
Page File: \??\C:\pagefile.sys
Current: 4190208Kb
Minimum: 4190208Kb
Maximum: 4190208Kb
Available Pages: 599741 ( 2398964 Kb)
ResAvail Pages: 894259 ( 3577036 Kb)
Modified Pages: 757 ( 3028 Kb)
NonPagedPool Usage: 15084 ( 60336 Kb)
NonPagedPool Max: 71586 ( 286344 Kb)
PagedPool 0 Usage: 22953 ( 91812 Kb)
PagedPool 1 Usage: 4324 ( 17296 Kb)
PagedPool 2 Usage: 4315 ( 17260 Kb)
PagedPool 3 Usage: 4360 ( 17440 Kb)
PagedPool 4 Usage: 4366 ( 17464 Kb)
********** Excessive Paged Pool Usage *****
PagedPool Usage: 40318 ( 161272 Kb)
PagedPool Maximum: 40960 ( 163840 Kb)
Shared Commit: 30133 ( 120532 Kb)
Special Pool: 0 ( 0 Kb)
Free System PTEs: 47920 ( 191680 Kb)
Shared Process: 99141 ( 396564 Kb)
PagedPool Commit: 40318 ( 161272 Kb)
Driver Commit: 770 ( 3080 Kb)
Committed pages: 822746 ( 3290984 Kb)
Commit limit: 2037826 ( 8151304 Kb)
Total Private: 545122 ( 2180488 Kb)
Der Eintrag "********** Excessive Paged Pool Usage *****" in dieser Ausgabeauflistung weist darauf hin, dass der Computer nicht genügend Auslagerungsressourcen aufweist. Dies kann daran erkannt werden, dass der Wert des Eintrags "PagedPool Usage" annähernd den Wert des Eintrags "PagedPool Maximum" erreicht.

Für die Konfiguration der Partition zwischen dem System-PTE-Speicher und dem Auslagerungsspeicher auf einem Computer mit einer neuen Windows 2000-Installation darf der Computer über keine Auslagerungsressourcen und muss über eine erhebliche Menge an freiem System-PTE-Speicher verfügen. Der freie System-PTE-Speicher muss mindestens 40.000 K betragen. Wenn der Computer über keinen freien System-PTE-Speicher verfügt, können Sie die folgende Methode nicht verwenden, um einer größeren Anzahl von Benutzern die Anmeldung beim Terminalserver zu ermöglichen.

Gehen Sie folgendermaßen vor, um das optimale Gleichgewicht zwischen dem Auslagerungsspeicher und dem System-PTE-Speicher einzustellen:
  1. Starten Sie den Computer neu und melden Sie sich an.
  2. Unterbrechen Sie den Debugger, geben Sie !vm ein und drücken Sie anschließend die [Eingabetaste].
  3. Notieren Sie sich die Werte für "PagedPool Maximum", "PagedPool Used" und "Free System PTEs". Die zu notierenden Werte sind in KB angegeben und stehen in Klammern.
  4. Geben Sie auf dem Debug-Hostcomputer g ein und drücken Sie anschließend die [Eingabetaste].
  5. Melden Sie am Zielcomputer 10 Terminalserver-Benutzer an und lassen Sie alle angemeldet. Führen Sie keine weiteren als die für diese Prozedur benötigten Aktionen auf dem Server durch.
  6. Starten Sie für alle 10 Sitzungen alle Programme, die die Benutzer erwartungsgemäß gleichzeitig ausführen. Dies stellt die repräsentative Benutzeranzahl für Ihr System dar. Die in diesen Sitzungen ausgeführten Programme sollten die Programme repräsentieren, die in Ihrer typischen Arbeitsumgebung zu einem beliebigen Zeitpunkt von allen Benutzern auf diesem System ausgeführt werden. Um bestmögliche Ergebnisse zu erzielen, sollten Remotebenutzer einige Aktionen durchführen, die für die ausgeführten Programme üblich sind. Beispielsweise könnten die Benutzer in einem Textverarbeitungsprogramm Text eingeben oder in einem Auftragsverwaltungsprogramm einige Aufträge eingeben.
  7. Unterbrechen Sie den Debugger, geben Sie !vm ein und drücken Sie anschließend die [Eingabetaste].
  8. Notieren Sie die Werte für "PagedPool Used" und "Free System PTEs".
  9. Führen Sie die folgenden Berechnungen durch:

    1. Menge PagedPool pro Benutzer = (Abschließender PagedPool Used - Anfänglicher PagedPool Used) / 10

      wobei Menge PagedPool pro Benutzer die Menge des Auslagerungsspeichers pro Benutzer ist, Abschließender PagedPool Used die Menge des abschließend verwendeten Auslagerungsspeichers ist und Anfänglicher PagedPool Used die Menge des anfänglich verwendeten Auslagerungsspeichers ist.
    2. Anzahl System-PTEs pro Benutzer = (Anfängliche Anzahl Free System PTEs - Abschließende Anzahl Free System PTEs) / 10

      wobei Anzahl System-PTEs pro Benutzer die Anzahl der System-PTEs pro Benutzer ist, Anfängliche Anzahl Free System PTEs die Anzahl der anfänglich freien System-PTEs ist und Abschließende Anzahl Free System PTEs die Anzahl der abschließend freien System-PTEs ist.
  10. Gehen Sie folgendermaßen vor, um die Registrierung zu ändern:

    1. Bestimmen Sie den verfügbaren virtuellen Adressraum sowie den pro Benutzer benötigten virtuellen Speicher:

      AvailableVirtualSpace = PagedPoolMaximum + FreeSystemPTEsinitial - PagedPoolUsedinitial

      wobei AvailableVirtualSpace die Menge an verfügbarem virtuellem Speicher ist, PagedPoolMaximum die Menge an maximalem Auslagerungsspeicher ist, FreeSystemPTEsinitial die Anzahl der anfänglich freien System-PTEs ist und PagedPoolUsedinitial die Menge an anfänglich verwendetem Auslagerungsspeicher ist.
    2. Bestimmen Sie anhand der folgenden Formel, wieviel virtueller Speicher pro Benutzer benötigt wird:

      VirtualSpacePerUser = PagedPoolPerUser + SystemPTEsPerUser

      wobei VirtualSpacePerUser die Menge an virtuellem Speicher ist, die pro Benutzer benötigt wird, PagedPoolPerUser die Menge an Auslagerungsspeicher pro Benutzer ist und SystemPTEsPerUser die Anzahl der System-PTEs pro Benutzer ist.
    3. Bestimmen Sie anhand der folgenden Formel, wieviele Benutzer dieser Computer theoretisch unterstützen könnte:

      MaxUsers = AvailableVirtualSpace / VirtualSpacePerUser

      wobei MaxUsers die maximale Anzahl der Benutzer ist, AvailableVirtualSpace die Menge an verfügbarem virtuellem Speicher ist und VirtualSpacePerUser die Menge an virtuellem Speicher pro Benutzer ist.
    4. Bestimmen Sie anhand der folgenden Formel, wieviel System-PTE-Speicher benötigt wird:

      PTErequired = SystemPTEsPerUser x MaxUsers

      wobei PTErequired die Anzahl der erforderlichen PTEs ist, SystemPTEsPerUser die Anzahl der PTEs pro Benutzer ist und MaxUsers die maximale Anzahl der Benutzer ist.
    5. Bestimmen Sie anhand der folgenden Formel die Anzahl der überzähligen PTEs und SystemPages:

      PTEexcess = FreeSystemPTEsinitial - PTErequired

      wobei PTEexcess die Anzahl an überzähligen PTEs ist, FreeSystemPTEsinitial die Anzahl an anfänglich freien System-PTEs ist und PTErequired die Anzahl an erforderlichen PTEs ist.
      Achtung: Die unkorrekte Verwendung des Registrierungseditors kann schwerwiegende, das gesamte System betreffende Probleme verursachen, die eine Neuinstallierung Ihres Betriebssystems erforderlich machen. Microsoft kann nicht dafür garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung. Microsoft kann keine Gewährleistungen oder Support für Probleme übernehmen, welche durch eine Manipulation der Windows- oder Windows NT-Registrierung verursacht wurden. Es ist Ihr eigenes Risiko, den Windows- oder Windows NT-Registrierungseditor Regedit.exe oder ähnliche Werkzeuge zur Manipulation der Windows- oder Windows NT-Registrierung zu verwenden.

    6. Verwenden Sie den Registrierungseditor (Regedit32.exe), um den Wert "SystemPages" in HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages in den Wert zu ändern, der sich aus der folgenden Formel ergibt:

      SystemPages = 50.000 - (PTEexcess / 4) (Gerundet auf die nächste ganze Zahl.)

      wobei SystemPages die Anzahl der SystemPages und PTEexcess die Anzahl der überzähligen PTEs ist.

      Setzen Sie den Wert auf 7.000, wenn der berechnete Wert für SystemPages unter 7.000 liegt. Wenn der berechnete Wert über 50.000 liegt, ist die Adressraumgrenze bereits für die maximale Anzahl von Benutzern konfiguriert.
    7. Starten Sie den Computer neu, unterbrechen Sie den Debugger, geben Sie !vm ein und drücken Sie anschließend die [Eingabetaste].
    8. Überprüfen Sie, ob der maximale Auslagerungsspeicher (PagedPoolMaximum) erhöht und der System-PTE-Speicher vermindert wurde.


Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Server
Keywords: 
kbhowto kbtool kbenv KB247904
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: