DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 911716 - Última revisão: segunda-feira, 3 de Dezembro de 2007 - Revisão: 1.6

 

Sintomas

Quando hospedar aplicações Web que utilizam o Microsoft ASP.NET num computador com o Microsoft Windows Server 2003, poderá detectar um desempenho reduzido. Este problema poderá ocorrer quando hospedar as aplicações Web em vários agrupamentos de aplicações num computador com múltiplos processadores. Além disso, poderá detectar um ou mais dos seguintes problemas quando existe pouca memória disponível:
  • Poderá receber excepções do tipo System.OutOfMemoryException.
  • Poderá receber a seguinte mensagem de erro quando tenta abrir uma página Web do ASP.NET:
    Aplicação de servidor não está disponível
  • O computador poderá deixar de responder.

Causa

Estes problemas ocorrem porque o Microsoft .NET Framework (CLR) common language runtime utiliza o recolector de lixo de servidor (GC) em computadores com múltiplos processadores. Este é o comportamento predefinido. O recolector de lixo do servidor é optimizado para dimensionável débito em computadores com múltiplos processadores. Para reduzir a contenção e melhorar o desempenho lixo Recolectores em computadores com múltiplos processadores, o recolector de lixo Server cria uma pilha por processador para colecções paralelas. Por conseguinte, o recolector de lixo do servidor consome muita memória quando hospedar vários processos de trabalho do ASP.NET. Este comportamento pode causar os problemas que são descritos em "Sintomas" secção.

Como contornar

Para contornar estes problemas, configure o .NET Framework common language runtime para utilizar o recolector de lixo de estação de trabalho. O recolector de lixo de estação de trabalho está optimizado para reduzir os tempos de pausa recolector de lixo para aplicações interactivas. Além disso, o recolector de lixo de estação de trabalho cria única pilha. Por conseguinte, o recolector de lixo de estação de trabalho utiliza menos memória ao executar aplicações em computadores com múltiplos processadores.

Para configurar o .NET Framework common language runtime para utilizar o recolector de lixo de estação de trabalho, adicione o seguinte código depois do <runtime> elemento no ficheiro ASPNET.config. O ficheiro ASPNET.config está localizado das seguintes pastas:
  • Se tiver o Microsoft .NET Framework 2.0:
    %WINDIR%\Microsoft.NET\Framework\v2.0.50727
  • Se tiver o Microsoft .NET Framework 1.1:
    %WINDIR%\Microsoft.NET\Framework\v1.1.4322
<configuration>
<runtime>
<gcServer enabled="false"/>
</runtime>
</configuration>
Nota O recolector de lixo de estação de trabalho está optimizado para latência baixa. Latência baixa é normalmente necessária para as aplicações cliente. No entanto, latência baixa pode provocar a diminuição do débito depois de configurar o .NET Framework common language runtime para utilizar o recolector de lixo de estação de trabalho.

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Para mais informações sobre considerações de desempenho no .NET Framework, visite o seguinte Web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms973838.aspx (http://msdn2.microsoft.com/en-us/library/ms973838.aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft .NET Framework 2.0
  • Microsoft ASP.NET 2.0
  • Microsoft .NET Framework 1.1
  • Microsoft ASP.NET 1.1
Palavras-chave: 
kbmt kbtshoot kbprb KB911716 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: 911716  (http://support.microsoft.com/kb/911716/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft