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

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
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: 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:Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
171793Informações sobre o uso de aplicativos de ajuste 4GT RAM
316739Como usar a opção /USERVA no arquivo Boot.ini para ajustar configurações/3 GB

Propriedades

ID do Artigo: 820108 - Última Revisão: 05/16/2007 07:24:26 - Revisão: 2.3

Microsoft ASP.NET 1.1

  • kbmt kberrmsg kbdefrag kbwebserver kbperformance kbmemory kbvirtualmem kbprb KB820108 KbMtpt
Comentários