A opção de detecção de interrupção do WebSphere Application Server é ativada por
padrão. É possível configurar uma política de detecção de interrupção para acomodar seus aplicativos e ambiente para que potenciais interrupções possam ser reportadas, fornecendo a detecção mais rápida de servidores com falha. Se um encadeamento interrompido for detectado, o WebSphere Application
Server notificará você para resolver o problema.
Antes de Iniciar
Um erro comum em aplicativos Java™ EE (Java Platform, Enterprise Edition) é um encadeamento interrompido. Um encadeamento interrompido pode resultar de um simples defeito de software (como um loop infinito) ou de uma causa mais complexa (por exemplo, um conflito de recursos). Os recursos do sistema, como o tempo da CPU, podem ser consumidos por essa transação interrompida quando os encadeamentos executam caminhos de códigos não ligados, como por exemplo quando o código está sendo executado em um loop infinito. Como alternativa, um sistema pode ficar sem resposta mesmo que todos os recursos estejam inativos, como em um cenário de conflito. A menos que um usuário ou uma ferramenta de monitoramento reporte o problema,
o sistema pode permanecer nesse estado degradado indefinidamente.
Utilizando a política de detecção de interrupção, você pode especificar um tempo que não seja muito longo para que uma unidade de trabalho seja concluída. O monitor de encadeamento verifica todos os encadeamentos
gerenciados no sistema (por exemplo, encadeamentos do contêiner da
Web e encadeamentos do object request broker (ORB)) . Os encadeamentos não gerenciados, que são os encadeamentos criados por aplicativos, não são monitorados. Para obter mais informações, consulte Hung threads in Java Platform, Enterprise Edition applications.
Sobre Esta Tarefa
A opção de detecção de interrupção de encadeamento está ativada, por padrão. Para
ajustar os valores da política de detecção de interrupção ou para desativar a detecção de
interrupção completamente:
Procedimento
- No console administrativo, clique em Servidores > Servidores de
Aplicativos > server_name
- Em Infra-estrutura do Servidor, clique em Administração > Propriedades
Customizadas
- Clique em Novo.
- Inclua as seguintes propriedades:
Informações |
Descrição |
Nome |
com.ibm.websphere.threadmonitor.interval |
Valor |
A frequência, em segundos, na qual os encadeamentos gerenciados do servidor de aplicativos selecionado serão interrogados. |
Default |
180 segundos (três minutos) |
Informações |
Descrição |
Nome |
com.ibm.websphere.threadmonitor.threshold |
Valor |
O período de tempo, em segundos, no qual um encadeamento pode ficar ativo antes de ser considerado interrompido. Qualquer encadeamento detectado como ativo por mais tempo do que esse período de tempo será relatado como interrompido. |
Default |
600 segundos (dez minutos) |
Informações |
Descrição |
Nome |
com.ibm.websphere.threadmonitor.false.alarm.threshold |
Valor |
O número de vezes (T) em que podem ocorrer alarmes falsos antes de o limite ser automaticamente aumentado. É possível que um encadeamento relatado como interrompido acabe concluindo seu trabalho, resultando em um alarme falso. Um grande número de eventos como esse indica que o valor do limite é muito pequeno. O recurso de detecção de interrupção pode responder automaticamente a essa situação: Para cada T alarmes falsos, o limite T será aumentado por um fator de 1.5. Configure o valor como zero (ou menos) para desativar o ajuste automático. |
Default |
100 |
Informações |
Descrição |
Nome |
com.ibm.websphere.threadmonitor.dump.java |
Valor |
Essa propriedade chama a função dumpThreads. Configure como true para executar a função dumpThreads quando um encadeamento interrompido for detectado e uma mensagem WSVR0605W for impressa. A seção de encadeamentos do
dump javacore pode ser analisada para determinar o que o encadeamento relatado
e outros encadeamentos relacionados estão fazendo.
Configure com um valor de número inteiro no intervalo de 1 até Integer.MAX_VALUE para fazer com que a função dumpThreads seja executada quando um encadeamento interrompido for detectado e uma mensagem WSVR0605W for impressa. O valor de número inteiro indica o número máximo de vezes que dumpThreads será executado. Nota: Para desativar
mensagens WSVR0605W, configure com.ibm.websphere.threadmonitor.interval=0.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif) Por padrão, a função dumpThreads cria um dump de javacore. Consulte o tópico Efetuando dump de encadeamentos em processos do servidor usando script para obter informações sobre como desativar a criação desse dump. Consulte o manual Java Diagnostics para obter mais informações sobre o conteúdo e as implicações deste dump.
Por padrão, a função dumpThreads cria um dump javacore, um Heapdump e um TDUMP. Consulte o tópico Efetuando dump de encaminhamentos em processos do servidor usando script para obter informações sobre como desativar a criação desses dumps. Consulte o manual Java Diagnostics para obter mais informações sobre o conteúdo e as implicações desses dumps.
|
Default |
false (0) |
Informações |
Descrição |
Nome |
com.ibm.websphere.threadmonitor.dump.java.track |
Valor |
Essa propriedade especifica o número de intervalos que o monitor chamará a função dumpThreads
enquanto um encadeamento permanece interrompido.
Configure para um valor de número inteiro no intervalo 2 por meio do valor
de com.ibm.websphere.threadmonitor.dump.java, que faz com que a função dumpThreads seja executada
em intervalos de monitor subsequentes, nos quais um encadeamento permanece interrompido. O valor de número inteiro indica o número máximo
de vezes que dumpThreads será executado para rastrear um encadeamento interrompido. Por exemplo, um valor de
2 faz com que o monitor de encadeamento execute dumpThreads duas vezes no máximo
para um encadeamento interrompido, e uma vez quando o encadeamento for detectado inicialmente como interrompido. O monitor de encadeamento poderá executar dumpThreadsand
novamente, se o encadeamento permanecer interrompido durante o intervalo de monitor de encadeamento seguinte.
Esaa propriedade pode ser utilizada apenas em conjunto com a propriedade com.ibm.websphere.threadmonitor.dump.java.
|
Default |
(0) intervalos |
- Opcional: Se desejar monitorar a atividade
de encadeamentos nos quais alarmes do sistema são executados, inclua os argumentos
genéricos da JVM a seguir nas configurações do servidor.
Informações |
Descrição |
Nome |
-Dcom.ibm.websphere.alarmthreadmonitor.generate.javacore |
Valor |
Configure com qualquer valor para fazer com que um dump javacore seja criado quando
um encadeamento de alarme do sistema interrompido for detectado. A seção de encadeamentos do
dump javacore pode ser analisada para determinar o que o encadeamento relatado
e outros encadeamentos relacionados estão fazendo. |
Default |
Desconfigurar |
Informações |
Descrição |
Nome |
com.ibm.websphere.alarmthreadmonitor.checkinterval.millis |
Valor |
A frequência, em milissegundos, na qual encadeamentos de alarme do sistema
são interrogados. Configure o valor como zero para desativar a detecção de
encadeamento interrompido do alarme do sistema. O intervalo máximo é 600000 (10 minutos). |
Default |
10000 (10 segundos) |
Informações |
Descrição |
Nome |
-Dcom.ibm.websphere.alarmthreadmonitor.threshold.millis |
Valor |
Configure com qualquer valor de número inteiro entre 10000 e 600000 (10 minutos). Este argumento é usado para especificar a duração de tempo, em milissegundos,
que um encadeamento de alarme do sistema pode ficar ativo antes de ser considerado não responsivo. Qualquer encadeamento de alarme do sistema que é detectado como inativo por mais do que
esta duração de tempo é relatado como interrompido. |
Default |
10000 (10 segundos) |
Para incluir estes argumentos nas configurações do servidor, conclua
as ações a seguir:
- Em Infraestrutura do Servidor na página de configurações do servidor
no console administrativo, clique em .
Selecione .
- Selecione .
- Inclua os argumentos na seção Argumentos Genéricos da JVM.
- Clique em Aplicar.
- Clique em OK.
- Salve as alterações. Certifique-se
de que uma sincronização de arquivos seja executada antes de reiniciar os servidores.
- Reinicie o Servidor de Aplicativos para que as alterações tenham efeito.