Partilhar via


Espaço de Armazenamento do Registro

Embora haja poucos limites técnicos para o tipo e o tamanho dos dados que um aplicativo pode armazenar no registro, existem determinadas 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.

Em geral, os dados que consistem em mais de um ou dois quilobytes (K) devem ser armazenados como um arquivo e referenciados 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 Registro.

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. (Armazenar os 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, ele não é cobrado mais de 4 MB (megabytes).

O tamanho máximo de um hive do registro é de 2 GB, exceto para o hive 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 consumida por hives 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 um hive 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 do hive do sistema
Sistemas baseados em x86 50% 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% de memória física, até 200 MB.
Sistemas baseados em x64 50% 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% 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.

Windows 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 em disco quando não estão em uso. O valor RegistrySizeLimit estabelece a quantidade máxima de pool paginado que pode ser consumido 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 é de 32 MB, portanto, são 8 MB.) O sistema garante que o valor mínimo de RegistrySizeLimit seja 4 MB e o máximo seja aproximadamente 80% do valor PagedPoolSize . Se o valor dessa entrada for maior que 80% do tamanho do pool paginado, o sistema definirá o tamanho máximo do registro como 80% do tamanho do pool paginado. Isso impede que o Registro consuma o espaço necessário para os processos. Observe que definir esse 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 atuais e máximos do registro, consulte Determinando o tamanho do registro.

O pool de páginas máximo é de aproximadamente 300.470 MB, portanto, o limite de tamanho do Registro é de 240 a 376 MB. No entanto, se a opção /3GB for usada, o tamanho máximo do pool paginado será de 192 MB, portanto, o registro poderá ter no máximo 153,6 MB.