Como gerar um arquivo de despejo quando ASP.NET deadlocks no IIS 6.0

Traduções deste artigo Traduções deste artigo
ID do artigo: 828222 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Ao enfrentar um deadlock no Microsoft Internet Information Services (IIS) 6.0, uma mensagem semelhante à seguinte aparecerá no log do aplicativo:

Tipo de evento: aviso
Origem do evento: W3SVC-WP
Categoria do evento: nenhuma
IDENTIFICAÇÃO de evento: 2262
Data: 29/7/2003
Tempo: 12: 08: 58 PM
Usuário: N/d
Computador: ComputerName
Descrição: ISAPI 'C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll' relatado próprio como problemáticos pelo seguinte motivo: 'Deadlock detectado'.

Além disso, uma mensagem semelhante à seguinte aparecerá no log do sistema:

Tipo de evento: aviso
Fonte do evento: W3SVC
Categoria do evento: nenhuma
IDENTIFICAÇÃO de evento: 1013
Data: 29/7/2003
Tempo: 12: 09: 34 PM
Usuário: N/d
Computador: ComputerName
Descrição: Um processo que atende ao pool de aplicativos 'DefaultAppPool' excedeu limites de tempo durante a desligar. A identificação do processo era '2756'.por obter mais informações, consulte Ajuda e suporte em http://support.microsoft.com

.

Gerar arquivos de despejo para diagnóstico

IIS 6.0 possui um novo recurso chamado órfã Worker Process. Este recurso permite inspecionar um processo que está programado para ser reciclado antes que o processo seja finalizado. O processo de trabalho órfã pode ser usado para anexar um depurador ao processo e gerar um arquivo de despejo para investigação.

Observação Este recurso não está habilitado quando processos executados no modo de compatibilidade 5.0 do IIS.

Baixar ferramentas de depuração para Windows

Para baixar ferramentas de depuração para Windows, visite um dos seguintes sites da Microsoft, conforme apropriado para sua situação:

Versão de 32 bits do Windows:
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
Versão de 64 bits do Windows:
http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx
Observação Quando você instalar ferramentas de depuração para Windows, certifique-se de salvar os arquivos no seguinte diretório:
C:\Debuggers

Criar um arquivo em lotes para executar quando um processo do operador órfão

  1. Inicie o bloco de notas
  2. Colar o código a seguir em Notepad.
    @if "%_echo%"=="" echo off
    setlocal
        set TIMESTAMP=%DATE:~-9%_%TIME%
    set TIMESTAMP=%TIMESTAMP:/=_%
    set TIMESTAMP=%TIMESTAMP::=_%
    set TIMESTAMP=%TIMESTAMP:.=_%
    set TIMESTAMP=%TIMESTAMP: =_%
    set FILENAME=c:\crash_PID_%1_%TIMESTAMP%.dmp
    set LOG=c:\log.txt
    set COMMAND=c:\debuggers\cdb.exe -c ".dump /o /ma %FILENAME%;q" -p %1
    
    echo %COMMAND% > %LOG%
    %COMMAND%
    
    endlocal
  3. Salve o arquivo como .cmd FileName. Por exemplo, podemos será o nome do arquivo Action.cmd. No entanto, você pode nomear o arquivo como você deseja.
Observação Talvez seja necessário modificar o local os depuradores e o local onde você deseja que o arquivo de despejo resultante a ser gerado.

Definir as configurações do processo de trabalho órfã

  1. No prompt de comando, digite o seguinte comando e pressione ENTER:
    CD \Inetpub\adminscripts
  2. Para habilitar o recurso órfã Worker Process, digite o seguinte comando no prompt de comando:
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanWorkerProcess TRUE
    
  3. No prompt de comando, defina o executável para executar quando um processo está programado para ser reciclado. Por exemplo, nesse caso, use o arquivo em lotes criado na seção "Criar um lote arquivo para executar quando um Worker Process É órfãos":
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionExe "c:\action.cmd"
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionParams "%1%" 
    
Observação Certifique-se a opção OrphanActionExe aponta para o local do arquivo em lotes criado na seção "Criar um arquivo de lote para executar quando um processo de trabalho é órfãos". Também verifique se a identidade do processo W3wp.exe tem as permissões Ler e executar para esse arquivo.

Observação Se você habilitar o IIS para depurar processos de trabalho que são relatados como não-íntegro, certifique-se de monitorar esses processos do operador liberado. IIS não remove automaticamente esses processos de trabalho da memória. Se você não manipulam corretamente esses processos de operador, muitos processos do operador com falha podem estar executando em seu computador. Esses processos podem obstruir recursos são necessários por outros processos. Você deve encerrar esses processos de operador rapidamente para liberar esses recursos. Em algumas condições, esses processos podem bloquear acesso à metabase. Isso causa problemas com outros processos do operador ou com o próprio serviço de Internet.

Referências

Para obter mais informações, visite os seguintes sites do Microsoft Developer Network (MSDN) da:
http://msdn2.microsoft.com/en-us/library/ms525365.aspx

http://msdn2.microsoft.com/en-us/library/ms524472.aspx

http://msdn2.microsoft.com/en-us/library/ms525700.aspx
Para obter mais informações sobre como depurar um processo do operador é relatado como não-íntegro, visite o seguinte site:
http://technet2.microsoft.com/WindowsServer/en/library/37f477fc-c683-438b-ac11-17ad554fd59a1033.mspx?mfr=true

Propriedades

ID do artigo: 828222 - Última revisão: segunda-feira, 3 de dezembro de 2007 - Revisão: 8.6
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Palavras-chave: 
kbmt kbdebug kbhowtomaster KB828222 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 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: 828222

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