ID do artigo: 126962 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Quando vários programas com base no Windows são executados, aparecem mensagens de erro "Sem Memória" no momento em que você tenta iniciar novos programas ou tenta usar programas que já estão em execução, mesmo que ainda exista bastante memória física e de arquivo de paginação disponível.

Causa

Esse comportamento poderá ocorrer se o heap de área de trabalho no subsistema WIN32 estiver descarregado.

Observação Esse problema ocorre com mais freqüência no Windows NT 3.5 porque o tamanho padrão do heap de área de trabalho é de 512K. No Windows NT 3.1, o valor padrão é 3072K. Esse padrão foi reduzido para aumentar o desempenho.

Resolução

Importante Esta seção, este método ou esta tarefa contém etapas que descrevem como modificar o Registro. No entanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga estas etapas cuidadosamente. Para obter mais proteção, faça um backup do Registro antes de modificá-lo. Dessa forma, se ocorrer algum problema, você poderá restaurar o Registro. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número abaixo para exibir o artigo da Base de Dados de Conhecimento Microsoft:
322756 Como fazer backup e restaurar o Registro no Windows
Para podermos corrigir esse problema para você, vá para a seção "Corrigir para mim". Se você preferir corrigir o problema sozinho, vá para a seção "Desejo corrigir sozinho".

Corrigir para mim



Para corrigir esse problema automaticamente, clique no botão ou no link Fix it. Clique em Executar na caixa de diálogo Download de Arquivo e siga as etapas descritas no Assistente de correção.

Corrigir este problema
Microsoft Fix it 50496

Observações
  • Esse assistente pode estar apenas em inglês. No entanto, a correção automática também funciona para versões do Windows em outros idiomas.
  • Se você não estiver usando o computador que apresenta o problema, salve a Solução de correção em uma unidade flash ou em um CD e, em seguida, execute-a no computador que apresenta o problema.
  • Se essa solução não resolver o problema para você, aumente a memória do computador.

Em seguida, vá para a seção "O problema foi corrigido?".



Desejo corrigir sozinho

Para corrigir esse problema, aumente o tamanho do heap de área de trabalho:
  1. Execute o Editor do Registro (Regedt32.exe).
  2. Na subárvore de
    HKEY_LOCAL_MACHINE
    , acesse a seguinte chave:
    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Selecione o valor Windows.
  4. No menu Editar, escolha Seqüência de Caracteres.
  5. Aumente o parâmetro SharedSection.

    Para Windows NT:
    SharedSection especifica os heaps de sistema e de área de trabalho, usando o seguinte formato:
    SharedSection=xxxx,yyyy
    Adicione ",256" ou ",512" depois do número yyyy.

    Para Windows 2000, Windows XP e Windows Server 2003:
    O SharedSection usa o seguinte formato para especificar os heaps de sistema e de área de trabalho:
    SharedSection=xxxx,yyyy,zzzz
    Em sistemas operacionais de 32 bits, aumente o valor de yyyy para "12288";
    Aumente o valor de zzzz para "1024".
    Em sistemas operacionais de 64 bits, aumente o valor de yyyy para "20480";
    Aumente o valor de zzzz para "1024".

Mais Informações

O Windows NT usa um heap de memória especial para todos os programas com base em Windows em execução na área de trabalho. O heap de área de trabalho é usado para todos os objetos (janelas, menus, canetas, ícones, etc.). Quando vários programas com base em Windows estão em execução, esse heap pode ficar sem memória. Quando não existe memória suficiente para atender a uma solicitação de alocação, o sistema geralmente retorna um erro e notifica o usuário de que ele está ficando sem memória. Alguns programas não manipulam a falha normalmente e, em alguns casos, pode não haver memória suficiente para criar a caixa de diálogo com a mensagem de erro. Como resultado, ocorre uma falha na operação solicitada sem nenhuma indicação.

A chave SharedSection é uma longa seqüência de caracteres quando visualizada com o uso do Editor do Registro. O valor padrão dessa chave é o seguinte.
<![CDATA[
   %SystemRoot%\system32\csrss.exe
   ObjectDirectory=\Windows
   SharedSection=1024,3072,512
   Windows=On
   SubSystemType=Windows
   ServerDll=basesrv,1
   ServerDll=winsrv:GdiServerDllInitialization,4
   ServerDll=winsrv:UserServerDllInitialization,3
   ServerDll=winsrv:UserServerDllInitialization,3
   ProfileControl=Off
   MaxRequestThreads=16
				


O primeiro valor de SharedSection (1024) define o tamanho do heap comum a todas as áreas de trabalho. Ele inclui a tabela de identificadores globais (identificadores do Windows são exclusivos no computador) e configurações de sistema compartilhadas (como SystemMetrics). É muito improvável que você precise alterar esse valor um dia.

O segundo valor de SharedSection (3072) controla o tamanho do heap de área de trabalho associado a uma estação de janela interativa (usada para objetos do Windows). Esse valor estático é usado para impedir que aplicativos inconvenientes consumam muitos recursos. Como o heap de área de trabalho é mapeado para o espaço de endereçamento de cada processo, esse valor não deve ser definido como um valor arbitrariamente alto (pois poderá diminuir o desempenho), podendo apenas ser aumentado o suficiente para possibilitar a execução de todos os aplicativos desejados.

O terceiro valor de SharedSection (512) controla o tamanho do heap de área de trabalho para cada área de trabalho associada a uma estação de janela "não interativa". Se esse valor não estiver presente, o tamanho do heap de estação de trabalho de estações de janela não interativas será igual ao tamanho do heap de estações de janela interativas (o segundo valor de SharedSection).
Para obter mais informações sobre os parâmetros da chave SharedSection, clique no número de artigo a seguir para exibi-lo na Base de Dados de Conhecimento Microsoft:
184802 PRB: Falha de inicialização de User32.dll ou Kernel32.dll

O problema foi corrigido?

  • Verifique se o problema foi corrigido. Se o problema tiver sido corrigido, você terá concluído esta seção. Se o problema não tiver sido corrigido, contate o suporte.
  • Aguardamos seus comentários. Para enviar comentários ou relatar problemas com esta solução, deixe um comentário no blog "Corrigir para mim" ou envie-nos um email.

Propriedades

ID do artigo: 126962 - Última revisão: quarta-feira, 10 de novembro de 2010 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
Palavras-chave: 
kbenv kbmsifixme kbfixme KB126962

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com