Spazio di archiviazione del Registro di sistema
Anche se esistono alcuni limiti tecnici al tipo e alle dimensioni dei dati che un'applicazione può archiviare nel Registro di sistema, esistono alcune linee guida pratiche per promuovere l'efficienza del sistema. Un'applicazione deve archiviare i dati di configurazione e inizializzazione nel Registro di sistema e archiviare altri tipi di dati altrove.
In genere, i dati costituiti da più di uno o due kilobyte (K) devono essere archiviati come file e denominati usando una chiave nel Registro di sistema anziché essere archiviati come valore. Anziché duplicare parti di dati di grandi dimensioni nel Registro di sistema, un'applicazione deve salvare i dati come file e fare riferimento al file. Il codice binario eseguibile non deve mai essere archiviato nel Registro di sistema.
Una voce valore usa molto meno spazio del Registro di sistema rispetto a una chiave. Per risparmiare spazio, un'applicazione deve raggruppare dati simili come struttura e archiviare la struttura come valore anziché archiviare ognuno dei membri della struttura come chiave separata. L'archiviazione dei dati in formato binario consente a un'applicazione di archiviare i dati in un valore che altrimenti sarebbe costituito da diversi tipi incompatibili.
Le visualizzazioni dei file del Registro di sistema vengono mappate nella memoria del pool con pagine.
Windows Server 2008 per 32 bit, Windows Vista con SP1 per 32 bit, Windows Vista, Windows Server 2003, Windows XP: Le visualizzazioni dei file del Registro di sistema vengono mappate nello spazio degli indirizzi della cache del computer. Pertanto, indipendentemente dalle dimensioni dei dati del Registro di sistema, non viene addebitato più di 4 megabyte (MB).
La dimensione massima di un hive del Registro di sistema è di 2 GB, ad eccezione dell'hive di sistema.
Windows Server 2003 con SP1, Windows Server 2003 e Windows XP: Non esistono limiti espliciti sulla quantità totale di spazio che può essere utilizzata da hives nella memoria del pool in pagina e nello spazio su disco, anche se le quote di sistema possono influire sulle dimensioni massime effettive. La dimensione massima di un hive del Registro di sistema è limitata a 2 GB a partire da Windows Server 2003 con Service Pack 2 (SP2).
La dimensione massima dell'hive di sistema è limitata dalla memoria fisica, come illustrato nella tabella seguente.
Sistema | Dimensioni massime dell'hive di sistema |
---|---|
Sistemi basati su x86 | 50% di memoria fisica, fino a 400 MB. Windows Server 2003 con SP2, Windows Server 2003 con SP1, Windows Server 2003 e Windows XP: 25% di memoria fisica, fino a 200 MB. |
Sistemi basati su x64 | 50% di memoria fisica, fino a 1,5 GB. Windows Server 2003 con SP2: 25 % della memoria di sistema, fino a 200 MB. Windows Server 2003 con SP1, Windows Server 2003 e Windows XP 64 Bit Edition: 32 MB. |
Sistemi basati su Intel Itanium | 50% di memoria fisica, fino a 1 GB. Windows Server 2008, Windows Vista, Windows Server 2003 con SP2, Windows Server 2003 con SP1, Windows Server 2003 e Windows XP 64 Bit Edition: 32 MB. |
Windows 2000
I dati del Registro di sistema vengono archiviati nel pool con pagina, un'area di memoria fisica usata per i dati di sistema che possono essere scritti su disco quando non in uso. Il valore RegistrySizeLimit stabilisce la quantità massima di pool di pagine che possono essere utilizzati dai dati del Registro di sistema da tutte le applicazioni. Questo valore si trova nella chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
Per impostazione predefinita, il limite delle dimensioni del Registro di sistema è pari al 25% del pool in pagina. Le dimensioni predefinite del pool con pagina sono 32 MB, quindi si tratta di 8 MB. Il sistema garantisce che il valore minimo di RegistrySizeLimit sia pari a 4 MB e il massimo sia circa il 80% del valore PagedPoolSize . Se il valore di questa voce è maggiore del 80% delle dimensioni del pool di pagine, il sistema imposta la dimensione massima del Registro di sistema sul 80% delle dimensioni del pool a pagina. Ciò impedisce al Registro di sistema di usare lo spazio necessario per i processi. Si noti che l'impostazione di questo valore non alloca spazio nel pool in pagina, né assicura che lo spazio sarà disponibile se necessario.
Le dimensioni del pool a pagina sono determinate dal valore PagedPoolSize nella chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
SessionManager
MemoryManagement
Per un esempio di come determinare le dimensioni correnti e massime del Registro di sistema, vedere Determinazione delle dimensioni del Registro di sistema.
Il pool di pagine massimo è di circa 300.470 MB, pertanto il limite di dimensioni del Registro di sistema è pari a 240-376 MB. Tuttavia, se viene usato il commutatore /3GB, le dimensioni massime del pool con pagina sono pari a 192 MB, pertanto il Registro di sistema può essere un massimo di 153,6 MB.