ID do artigo: 820108 - Última revisão: quarta-feira, 16 de maio de 2007 - Revisão: 2.3

Você receberá a mensagem de erro "System.OutOfMemoryException" quando você visualiza páginas ASP.NET em um servidor que tem 3 gigabytes de RAM

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sintomas

Ao você exibe páginas ASP.NET em um servidor que tenha 3 gigabytes (GB) ou mais de RAM instalada, você receberá a seguinte mensagem de erro exceção, independentemente se há memória física ainda disponível no servidor:
System.OutOfMemoryException

Causa

O common language runtime lança um erro de OutOfMemoryException se ele não é possível alocar memória física ? ou reserva suficiente memória virtual (VM) ? para atender à solicitação de alocação. Por padrão, o espaço de memória virtual endereçável está disponível para o processo é 2 GB. Se o espaço de endereço virtual é esgotado, o sistema operacional não é possível alocar mais memória física para o processo.

Resolução

Em computadores que executam os seguintes sistemas operacionais, você pode ativar o recurso especial de ajuste 4GT RAM :
  • Família Microsoft Windows Server 2003
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT 4.0 Enterprise Edition
O recurso de Ajuste 4GT RAM permite que cada processo de endereço até 3 GB de memória virtual. Para ativar esse recurso, adicione o / 3 GB alternar para o Boot.ini arquivo.

Para obter mais informações, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/aa366521.aspx (http://msdn2.microsoft.com/en-us/library/aa366521.aspx)
Devido às limitações do sistema operacional, configurações de processo único não é possível endereço mais de 3 GB de memória virtual. Para usar a memória física disponível com mais eficiência, use vários processos. Por exemplo, o ASP.NET em Microsoft (IIS) 5.0 permite Webgarden modo para executar um processo do operador para cada CPU em um servidor de várias CPUs. Para sistemas que executam o IIS 6.0, você pode configurar seu site para executar aplicativos separados em um pool de aplicativos.

No entanto, mesmo com o recurso de Ajuste 4GT RAM ativado, um único processo não pode alocar todos os 3 GB de memória. Todas as DLLs de sistema são carregadas em endereços VM fixos. Portanto, a área VM superior se torna fragmentada. O Gerenciador de memória deve reservar um segmento de VM para tornar a alocação de memória. O processo não é possível alocar mais memória, se o Gerenciador de memória não é possível encontrar um intervalo contíguo de endereço VM para o próximo segmento. Normalmente, o tamanho do segmento é suficientemente grande (32 ou 64 MB).

Esse problema não é específico para ASP.NET ou o common language runtime. É uma restrição de sistema operacional para qualquer tipo de processo.

Situação

Esse comportamento é por design.

Referências

Para obter mais informações sobre Ajuste 4GT RAM , visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/aa366521.aspx (http://msdn2.microsoft.com/en-us/library/aa366521.aspx)
Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
171793  (http://support.microsoft.com/kb/171793/EN-US/ ) Informações sobre o uso de aplicativos de ajuste 4GT RAM
316739  (http://support.microsoft.com/kb/316739/ ) Como usar a opção /USERVA no arquivo Boot.ini para ajustar configurações/3 GB

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
Palavras-chave: 
kbmt kberrmsg kbdefrag kbwebserver kbperformance kbmemory kbvirtualmem kbprb KB820108 KbMtpt
Tradução automáticaTraduçã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: 820108  (http://support.microsoft.com/kb/820108/en-us/ )