CORRECÇÃO: Gestão de memória aumenta com o tempo quando efectuar chamadas de rede assíncrona

Traduções de Artigos Traduções de Artigos
Artigo: 817618 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sintomas

Um objecto de programas afixado é um objecto que não é possível mover o recolector de lixo na memória. Num processo .NET, se efectuar operações directa ou indirectamente pino objectos na memória que é gerida pelo recolector de lixo .NET, o processo pode ocorrer memória constante crescimento.

Para determinar se fixação está a ocorrer para uma instância de processo específico, verifique o seguinte procedimento no Monitor de desempenho (PerfMon):
  • No contador de .NET CLR memória valores elevados aparecem na categoria de número de objectos fixada e categoria # Bytes em todas as pilhas .
  • No contador processo, um valor elevado aparece na categoria Private Bytes .
Valores elevados nestes contadores podem indicar que tem este problema.

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do .NET Framework que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version       Size       File name
   --------------------------------------------------------------
   01-May-2003  12:43  1.0.3705.419    196,608  Aspnet_isapi.dll
   01-May-2003  12:43  1.0.3705.419     69,632  Corperfmonext.dll
   01-May-2003  12:43  1.0.3705.419    303,104  Mscorjit.dll
   04-Apr-2003  10:20  1.0.3705.419  1,953,792  Mscorlib.dll
   03-Apr-2003  21:30  1.0.3705.419  2,269,184  Mscorsvr.dll
   03-Apr-2003  21:30  1.0.3705.419  2,269,184  Mscorwks.dll

Mais Informação

Seguem-se operações que podem directa ou indirectamente pino objectos na memória gerida:
  • Operações directamente pino objectos
    • Se utilizar a palavra-chave fixa num contexto não seguro

      Nota É necessário para qualquer operação que envolve os ponteiros um contexto não seguro . Pode aplicar inseguro como um modificador na declaração de chamada membros como métodos, propriedades, construtores e extenders (mas não dos construtores estáticos).
    • Se efectuar GCHandle.alloc (a, b, GCHandleType.Pinned) em C# código gerido
  • Operações que nos objectos de pino directamente
    • Se chamar a um serviço Web invocando os proxies de serviço Web gerados
    • Se efectuar pedidos de HTTP utilizando a classe HttpRequest .
    • Se chamar a função de recepção síncrona num objecto Messaging.Queue (memórias intermédias são afixadas durante a recepção de chamada)
Pode monitorizar este comportamento, visualizando os seguintes contadores do desempenho:
  • Memória do .NET CLR - aumentará #Bytes em todas as pilhas
  • Memória do .NET CLR - número de objectos fixada enfrentarão um número elevado (maior que 100)
Para obter informações adicionais sobre a utilização do desempenho, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
248345Como criar um registo com o Monitor de sistema no Windows 2000

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Propriedades

Artigo: 817618 - Última revisão: 24 de janeiro de 2014 - Revisão: 1.6
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbnetframe100presp3fix kbfix kbbug KB817618 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 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: 817618

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