Artigo: 820108 - Última revisão: quarta-feira, 16 de Maio de 2007 - Revisão: 2.3

Poderá receber a mensagem de erro "System.OutOfMemoryException" quando visualizar páginas ASP.NET num servidor com 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 | Reduzir tudo

Sintomas

Quando visualizar páginas ASP.NET num servidor que tenha 3 gigabytes (GB) ou mais de RAM instalada, poderá receber a mensagem de erro excepção seguinte, independentemente se existe memória física continua disponível no servidor:
System.OutOfMemoryException

Causa

O common language runtime lança um erro de OutOfMemoryException se não conseguir alocar memória física, ou reservar suficiente memória virtual (VM), para satisfazer o pedido de atribuição. Por predefinição, o espaço de memória virtual endereçável disponível para o processo é 2 GB. Se o espaço de endereçamento virtual se esgotar, o sistema operativo não consegue atribuir mais memória física para o processo.

Resolução

Em computadores com os seguintes sistemas operativos, pode activar a funcionalidade especial 4GT RAM optimização :
  • 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
A funcionalidade de Optimização da RAM 4GT permite que cada processo para endereçar 3 GB de memória virtual. Para activar esta funcionalidade, adicione o / 3 GB mudar para o ficheiro Boot.ini ficheiro.

Para mais informações, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/aa366521.aspx (http://msdn2.microsoft.com/en-us/library/aa366521.aspx)
Devido a limitações de sistema operativo, configurações de processo único não podem endereçar mais do que 3 GB de memória virtual. Para utilizar a memória física disponível com maior eficácia, utilize vários processos. Por exemplo, o ASP.NET em Microsoft (IIS) 5.0 permite Webgarden modo para executar um processo de trabalho para cada CPU num servidor várias CPU. Para sistemas com o IIS 6.0, pode configurar o Web site para executar aplicações separadas num agrupamento de aplicações.

No entanto, mesmo com a funcionalidade Optimização da RAM 4GT activada, um único processo não é possível atribuir todos os 3 GB de memória. Todas as DLLs de sistema são carregadas em endereços da VM fixos. Assim, fica fragmentada VM área superior. O Gestor de memória tem de reservar um segmento da VM efectuar a atribuição de memória. O processo não é possível atribuir mais memória se o Gestor de memória não conseguir localizar um intervalo contíguo de endereço VM para o próximo segmento. Normalmente, o tamanho do segmento é suficientemente grande (32 ou 64 MB).

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

Ponto Da Situação

Este comportamento ocorre por predefinição.

Referências

Para obter mais informações sobre Optimização da RAM 4GT , visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/aa366521.aspx (http://msdn2.microsoft.com/en-us/library/aa366521.aspx)
Para obter informações adicionais, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
171793  (http://support.microsoft.com/kb/171793/EN-US/ ) Obter informações sobre utilizar aplicações de optimização da RAM 4GT
316739  (http://support.microsoft.com/kb/316739/ ) Como utilizar o parâmetro/Userva no ficheiro Boot.ini para optimizar 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )