Solaris SMF Detectar Java PermGen?

2

Existe uma maneira de detectar que um processo Java está sem memória (por exemplo, espaço PermGen) e reiniciá-lo com um contrato SMF?

    
por Amin Abbaspour 05.02.2014 / 00:20

1 resposta

1

Depende da sua VM java. Eu estou usando o hotspot vm você pode fazer o seguinte.

Use a opção -XX: OnOutOfMemoryError = java cli para enviar o sinal SIGKILL ao processo, isso fará com que o SMF inicie novamente, um SIGKILL é necessário porque um processo java OutOfMemory não responde a nenhum sinal. Você pode adicionar uma opção -XX: -HeapDumpOnOutOfMemoryError para obter um dump do heap para analisar, mas isso pode ocupar muito espaço.

Documentação: link

    
por 05.02.2014 / 16:15