Espaço de armazenamento do Registro
Embora existam poucos limites técnicos para o tipo e tamanho dos dados que um aplicativo pode armazenar no registro, existem algumas diretrizes práticas para promover a eficiência do sistema. Um aplicativo deve armazenar dados de configuração e inicialização no Registro e armazenar outros tipos de dados em outro lugar.
Geralmente, os dados que consistem em mais de um ou dois kilobytes (K) devem ser armazenados como um arquivo e referidos usando uma chave no registro em vez de serem armazenados como um valor. Em vez de duplicar grandes partes de dados no registro, um aplicativo deve salvar os dados como um arquivo e fazer referência ao arquivo. O código binário executável nunca deve ser armazenado no registo.
Uma entrada de valor usa muito menos espaço do Registro do que uma chave. Para economizar espaço, um aplicativo deve agrupar dados semelhantes como uma estrutura e armazenar a estrutura como um valor, em vez de armazenar cada um dos membros da estrutura como uma chave separada. (O armazenamento dos dados em formato binário permite que um aplicativo armazene dados em um valor que, de outra forma, seria composto por vários tipos incompatíveis.)
As exibições dos arquivos do Registro são mapeadas na memória do pool paginado.
Windows Server 2008 para 32 bits, Windows Vista com SP1 para 32 bits, Windows Vista, Windows Server 2003, Windows XP: As exibições dos arquivos do Registro são mapeadas no espaço de endereço do cache do computador. Portanto, independentemente do tamanho dos dados do registro, não é cobrado mais de 4 megabytes (MB).
O tamanho máximo de uma seção de registro é de 2 GB, exceto para a seção do sistema.
Windows Server 2003 com SP1, Windows Server 2003 e Windows XP: Não há limites explícitos sobre a quantidade total de espaço que pode ser consumido por colmeias na memória do pool paginado e no espaço em disco, embora as cotas do sistema possam afetar o tamanho máximo real. O tamanho máximo de uma seção do Registro foi limitado a 2 GB a partir do Windows Server 2003 com Service Pack 2 (SP2).
O tamanho máximo do hive do sistema é limitado pela memória física, conforme mostrado na tabela a seguir.
Sistema | Tamanho máximo da colmeia do sistema |
---|---|
Sistemas baseados em x86 | 50 por cento da memória física, até 400 MB.Windows Server 2003 com SP2, Windows Server 2003 com SP1, Windows Server 2003 e Windows XP: 25% da memória física, até 200 MB. |
Sistemas baseados em x64 | 50 por cento da memória física, até 1,5 GB.Windows Server 2003 com SP2: 25% da memória do sistema, até 200 MB. Windows Server 2003 com SP1, Windows Server 2003 e Windows XP 64-Bit Edition: 32 MB. |
Sistemas baseados em Intel Itanium | 50 por cento da memória física, até 1 GB.Windows Server 2008, Windows Vista, Windows Server 2003 com SP2, Windows Server 2003 com SP1, Windows Server 2003 e Windows XP 64-Bit Edition: 32 MB. |
Janelas 2000
Os dados do Registro são armazenados no pool paginado, uma área de memória física usada para dados do sistema que podem ser gravados no disco quando não estão em uso. O valor de RegistrySizeLimit estabelece a quantidade máxima de pool paginado que pode ser consumida pelos dados do Registro de todos os aplicativos. Esse valor está localizado na seguinte chave do Registro:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
Por padrão, o limite de tamanho do Registro é de 25% do pool paginado. (O tamanho padrão do pool paginado é 32 MB, portanto, é 8 MB.) O sistema garante que o valor mínimo de RegistrySizeLimit é de 4 MB e o máximo é de aproximadamente 80 por cento do valor de PagedPoolSize. Se o valor dessa entrada for maior que 80% do tamanho do pool paginado, o sistema definirá o tamanho máximo do Registro para 80% do tamanho do pool paginado. Isso impede que o registro consuma espaço necessário para os processos. Observe que a configuração desse valor não aloca espaço no pool paginado, nem garante que o espaço estará disponível, se necessário.
O tamanho do pool paginado é determinado pelo valor PagedPoolSize na seguinte chave do Registro:
HKEY_LOCAL_MACHINE
System
CurrentControlSet
Control
SessionManager
MemoryManagement
Para obter um exemplo de como determinar os tamanhos atual e máximo do Registro, consulte Determinando o tamanho do Registro.
O pool paginado máximo é de aproximadamente 300.470 MB, portanto, o limite de tamanho do Registro é de 240-376 MB. No entanto, se a opção /3GB for usada, o tamanho máximo do pool paginado é de 192 MB, portanto, o registro pode ser no máximo 153,6 MB.