Registrierungsspeicherplatz
Obwohl es nur wenige technische Beschränkungen für den Typ und die Größe von Daten gibt, die eine Anwendung in der Registrierung speichern kann, gibt es bestimmte praktische Richtlinien zur Förderung der Systemeffizienz. Eine Anwendung sollte Konfigurations- und Initialisierungsdaten in der Registrierung speichern und andere Arten von Daten an anderer Stelle speichern.
Im Allgemeinen sollten Daten, die aus mehr als einem oder zwei Kilobyte (K) bestehen, als Datei gespeichert und mithilfe eines Schlüssels in der Registrierung bezeichnet werden, anstatt als Wert gespeichert zu werden. Anstatt große Daten in der Registrierung zu duplizieren, sollte eine Anwendung die Daten als Datei speichern und auf die Datei verweisen. Ausführbarer Binärcode sollte niemals in der Registrierung gespeichert werden.
Ein Werteintrag verwendet viel weniger Registrierungsspeicher als ein Schlüssel. Um Platz zu sparen, sollte eine Anwendung ähnliche Daten als Struktur gruppieren und die Struktur als Wert speichern, anstatt die einzelnen Strukturmember als separaten Schlüssel zu speichern. (Das Speichern der Daten in binärer Form ermöglicht es einer Anwendung, Daten in einem Wert zu speichern, der andernfalls aus mehreren inkompatiblen Typen besteht.)
Ansichten der Registrierungsdateien werden im speicherseitigen Pool zugeordnet.
Windows Server 2008 für 32-Bit, Windows Vista mit SP1 für 32-Bit, Windows Vista, Windows Server 2003, Windows XP: Ansichten der Registrierungsdateien werden im Cacheadressbereich des Computers zugeordnet. Daher wird es unabhängig von der Größe der Registrierungsdaten nicht mehr als 4 MB in Rechnung gestellt.
Die maximale Größe einer Registrierungsstruktur beträgt 2 GB, mit Ausnahme der Systemstruktur.
Windows Server 2003 mit SP1, Windows Server 2003 und Windows XP: Es gibt keine expliziten Grenzwerte für die Gesamtmenge des Speicherplatzes, der von Strukturen im seitenseitigen Poolspeicher und im Festplattenspeicher verbraucht werden kann, obwohl sich Systemkontingente auf die tatsächliche maximale Größe auswirken können. Die maximale Größe einer Registrierungsstruktur war ab Windows Server 2003 mit Service Pack 2 (SP2) auf 2 GB beschränkt.
Die maximale Größe der Systemstruktur ist durch physischen Arbeitsspeicher begrenzt, wie in der folgenden Tabelle dargestellt.
System | Maximale Größe der Systemstruktur |
---|---|
x86-basierte Systeme | 50 Prozent des physischen Speichers, bis zu 400 MB.Windows Server 2003 mit SP2, Windows Server 2003 mit SP1, Windows Server 2003 und Windows XP: 25 Prozent des physischen Arbeitsspeichers bis zu 200 MB. |
x64-basierte Systeme | 50 Prozent des physischen Speichers, bis zu 1,5 GB.Windows Server 2003 mit SP2: 25 Prozent des Systemspeichers bis zu 200 MB. Windows Server 2003 mit SP1, Windows Server 2003 und Windows XP 64-Bit Edition: 32 MB. |
Intel Itanium-basierte Systeme | 50 Prozent des physischen Speichers, bis zu 1 GB.Windows Server 2008, Windows Vista, Windows Server 2003 mit SP2, Windows Server 2003 mit SP1, Windows Server 2003 und Windows XP 64-Bit Edition: 32 MB. |
Windows 2000
Registrierungsdaten werden im ausgelagerten Pool gespeichert, einem Bereich des physischen Speichers, der für Systemdaten verwendet wird, die bei nicht verwendeter Verwendung auf den Datenträger geschrieben werden können. Der wert RegistrySizeLimit legt die maximale Menge an ausgelagerten Pool fest, die von Registrierungsdaten aus allen Anwendungen genutzt werden kann. Dieser Wert befindet sich im folgenden Registrierungsschlüssel:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
Standardmäßig beträgt der Grenzwert für die Registrierungsgröße 25 Prozent des seitenseitigen Pools. (Die Standardgröße des seitenseitigen Pools beträgt 32 MB, sodass dies 8 MB beträgt.) Das System stellt sicher, dass der Mindestwert von RegistrySizeLimit 4 MB beträgt und das Maximum ungefähr 80 Prozent des PagedPoolSize Wert beträgt. Wenn der Wert dieses Eintrags größer als 80 Prozent der Größe des seitenseitigen Pools ist, legt das System die maximale Größe der Registrierung auf 80 Prozent der Größe des seitenseitigen Pools fest. Dadurch wird verhindert, dass die Registrierung Speicherplatz verbraucht, der von Prozessen benötigt wird. Beachten Sie, dass das Festlegen dieses Werts keinen Speicherplatz im seitenseitigen Pool zuweist, und es stellt auch sicher, dass der Speicherplatz bei Bedarf verfügbar ist.
Die Seitenpoolgröße wird durch den wert PagedPoolSize im folgenden Registrierungsschlüssel bestimmt:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
SessionManager
MemoryManagement
Ein Beispiel zum Ermitteln der aktuellen und maximalen Größe der Registrierung finden Sie unter Bestimmen der Registrierungsgröße.
Der maximale Seitenpool beträgt ca. 300.470 MB, sodass der Grenzwert für die Registrierungsgröße 240-376 MB beträgt. Wenn der Switch "/3 GB" verwendet wird, beträgt die maximale Seitenpoolgröße jedoch 192 MB, sodass die Registrierung maximal 153,6 MB betragen kann.