Degradação do desempenho ocorre na função UnmapViewOfFile

Traduções de Artigos Traduções de Artigos
Artigo: 815227 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Um programa que utiliza mapeado vistas de ficheiro que são maiores do que 500 megabytes (MB) poderá detectar uma diminuição de desempenho significativos. Ficheiro mapeado vistas são frequentemente utilizadas para partilhar informações entre dois ou mais processos. Ocorre a degradação do desempenho na função UnmapViewOfFile .

Causa

Este problema ocorre se um programa mapeia vistas de ficheiro que são maiores do que 500 MB no Microsoft Windows Server 2003 ou no Microsoft Windows XP Service Pack 1 (SP1).

Resolução

Windows XP Service Pack 1

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Windows XP. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322389Como obter o Windows XP service pack mais recente

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção 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 pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). 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     Platform 
   ----------------------------------------------------------------------- 
   28-Feb-2003  16:17    5.1.2600.1178   1,895,424  Ntkrnlmp.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,951,232  Ntkrnlpa.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,923,584  Ntkrpamp.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   1,927,424  Ntoskrnl.exe  i386 
   28-Feb-2003  16:17    5.1.2600.1178   5,826,432  Ntkrnlmp.exe  ia-64 
   28-Feb-2003  16:17    5.1.2600.1178   5,736,704  Ntoskrnl.exe  ia-64

Windows Server 2003

Apesar do problema manifesta-se com uma chamada à função UnmapViewOfFile , a alteração de código necessária é profunda no kernel do. Devido ao risco de alterar funções de gestão de memória principal, uma correcção para o Windows Server 2003 não estará disponível. A correcção de código para o Windows Server 2003 vai estar disponível no Windows Server 2003 Service Pack 1.

Programas que podem ser afectados por este problema podem ser identificados utilizando o Monitor de desempenho. Para o fazer, siga estes passos:
  1. Cria um registo do monitor de desempenho, seguindo os passos são descritos no artigo da base de dados de conhecimento da Microsoft 248345 ou utilizando o Assistente de monitor de desempenho.
    Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    248345Como criar um registo utilizando o Monitor de sistema no Windows
  2. Registo de actividade do servidor durante a disponibilidade.
  3. Parar o registo do monitor de desempenho e reveja Utilização máxima de tamanho do conjunto de trabalho no objecto de desempenho processo . Localize qualquer processo em que o tamanho de conjunto de trabalho excedeu 500 MB.
  4. Subtrair o valor de tamanho de conjunto trabalho de cada processo identificado no passo 3 da entrada de Bytes privados correspondente no objecto de desempenho processo .
Se o conjunto de trabalho para um processo for 500 MB mais bytes privados, o programa podem estar a utilizar vistas mapeadas grandes de ficheiros e podem ser afectados pela degradação do desempenho de chamar a função UnmapViewOfFile . Se estes programas aleatoriamente não estão a responder ou responder por longos períodos de tempo, a depuração de revisão de análise ou código pode ser necessário para verificar que os programas são afectados por este problema.

Se o programa é afectado por este problema de desempenho, as seguintes soluções codificação estarão disponíveis para o Windows Server 2003 até estar disponível Windows Server 2003 Service Pack 1:
  1. Remova as chamadas para a função UnmapViewOfFile programas que são executados no Windows Server 2003. Esta chamada de função é necessária apenas se o processo tem de mapear várias secções de memória para o mesmo endereço de memória. O sistema operativo irá limpar as secções partilhadas assim que o último thread terminou.
  2. Se tem de chamar a função UnmapViewViewOfFile , escreva um novo programa para criar um objecto de tarefa (CreateJobObject). Utilize a função SetInformationJobObject para definir o tamanho de conjunto de trabalho máximo para cerca de 500 MB, definindo a propriedade MaximumWorkingSetSize no parâmetro _JOBOBJECT_BASIC_LIMIT_INFORMATION. (Esta definição é 24 MB com o / 3 GB mudar.) Associa todos os processos necessários este objecto de tarefa.
Este programa deve ser executado depois de já tem iniciado os processos necessários. Se processa uma delas é reiniciado, este programa tem de ser novamente. Não pode provoca uma penalização de desempenho grande se limitar o tamanho de conjunto de trabalho para o processo. Se existir muita memória RAM disponível no sistema, as páginas que são removidas do conjunto de trabalho do processo serão colocadas na lista de espera. Se uma falha de paginação é incorrida, provavelmente será servido por página na lista de espera na memória física. As referências de desempenho devem ser executadas para determinar o efeito de desempenho real para esta solução alternativa.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no Microsoft Windows XP Service Pack 2.O problema está agendado para ser corrigido no Windows Server 2003 Service Pack 1.

Propriedades

Artigo: 815227 - Última revisão: 29 de agosto de 2007 - Revisão: 6.3
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 Windows XP Home Edition SP1
  • Microsoft Windows XP Professional SP1
Palavras-chave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbwinxpsp2fix kbtshoot kbenv kbqfe kbwinxppresp2fix kbfix kbbug KB815227 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: 815227

Submeter comentários

 

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