Resolver a situação de "Memória insuficiente para executar"

Traduções deste artigo Traduções deste artigo
ID do artigo: 105274 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sumário

Cada tarefa sob Windows requer uma estrutura de dados alocada abaixo de 1 megabyte (MB) chamado a base de dados de tarefas (TDB). A versão de depuração do Windows, falha de alocação do TDB aparece como:
t kernel: GlobalAlloc(200) falhou para????
Este erro ocorre dentro do contexto de LoadModule conforme ele tenta iniciar uma nova tarefa em uma condição de memória convencional baixa.

A causa mais comum de memória convencional baixa é fixa alocações feitas em nome de uma biblioteca de vínculo dinâmico (DLL). Alocações fixas devem ser usadas somente para código e dados utilizadas no tempo de interrupção. Todas as outras alocações devem ser feitas com o atributo móvel.

Mais Informações

A pilha do Windows consiste de todos os convencional e memória XMS disponível depois WIN.COM e WIN386.EXE/DOSX.EXE são carregados pelo MS-DOS. Esses dois blocos separados fisicamente são combinados em um espaço único endereço linear para formam a pilha global.

Windows aloca objetos fixos com um algoritmo de ajustar up/primeiro inferior. Como fixo mais objetos são alocados do heap, memória convencional obtém pinched. Finalmente, mesmo uma pequena alocação para o TDB falha resultando em LoadModule retornando 0 (zero).

O utilitário HEAPWALK.EXE fornece uma exibição para o heap global para determinar o que está usando muita memória convencional. O item de menu Classificar endereços classifica o heap principal com endereços inferiores na parte superior da lista. Qualquer objeto com um endereço de 9FFFF ou abaixo está na memória convencional. Um objeto com um "F" definida na coluna FLG é fixa. Qualquer objeto fixo propriedade suas bibliotecas de vínculo dinâmico dependentes ou de um aplicativo que não é um TDB (tipo de tarefa no HEAPWALK) deve ser considerado suspeito.

O arquivo de definição (.def) módulo marcará DISCARDABLE MOVÍVEIS de código e dados MOVÍVEIS. Qualquer alocações devem conter o atributo GMEM_MOVEABLE. O utilitário EXEHDR.EXE pode ser usado para indentify módulos que usam o atributo fixo para seus segmentos de código ou dados. Segmentos sem o atributo <moveable> na coluna "sinalizadores" da saída do EXEHDR são corrigidos.

Propriedades

ID do artigo: 105274 - Última revisão: segunda-feira, 21 de outubro de 2013 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Software Development Kit 3.1
Palavras-chave: 
kbnosurvey kbarchive kbmt kb16bitonly KB105274 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 105274

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