EM agent falha ao iniciar com 'Target Interaction Manager failed at Startup' e 'java.lang.OutOfMemoryError: Java heap space' nos logs

This post is also available in: English

Neste artigo, vou demonstrar como resolver o problema quando o agente do EM falha ao iniciar por problemas de memória no java.

Estes dias, após aplicar alguns patches no agente do EM, ao tentar reiniciá-lo, comecei a receber o erro abaixo:

[emc12@localhost ~]$ emctl start agent
Oracle Enterprise Manager Cloud Control 12c Release 5
Copyright (c) 1996, 2015 Oracle Corporation.  All rights reserved.
Starting agent ........................................................................... failed.
Fatal agent error: Target Interaction Manager failed at Startup
Fatal agent error: Target Interaction Manager failed at Startup
Fatal agent error: Target Interaction Manager failed at Startup
EMAgent is Thrashing. Exiting watchdog
Consult emctl.log and emagent.nohup in: /u01/app/emc12/agent_inst/sysman/log
[emc12@localhost ~]$

Ao verificar o arquivo emagent.nohup, havia um erro relacionado à memória do java:

Agent is going down due to an OutOfMemoryError
----- Fri May 13 10:46:21 2016::18719::Checking status of EMAgent : 19177 -----
----- Fri May 13 10:46:21 2016::18719::EMAgent exited at Fri May 13 10:46:21 2016 with return value 57. -----
----- Fri May 13 10:46:21 2016::18719::EMAgent will be restarted because of an Out of Memory Exception. -----
----- Fri May 13 10:46:21 2016::18719::EMAgent is Thrashing. Exiting loop. -----
----- Fri May 13 10:46:21 2016::18719::Commiting Process death. -----
----- Fri May 13 10:46:21 2016::18719::writeAbnormalExitTimestampToAgntStmp: exitCause=OOM : restartRequired=0 -----
----- Fri May 13 10:46:21 2016::18719::Exited due to Thrash. -----

Como o erro mostra, é um problema de falta de memória ("Out of Memory Exception"). Para resolver, foi necessário aumentar o espaço alocado para o "java heap space" no emagent.

Edite o arquivo '$AGENT_BASE/agent_inst/sysman/config/emd.properties' e aumente a memória alocada para 512M (que é um valor bom e suficiente).

Antes:

[emc12@localhost config]$ cat emd.properties | grep agentJavaDefines
agentJavaDefines=-Xmx128M -XX:MaxPermSize=96M

Após editado:

[emc12@localhost config]$ cat emd.properties | grep agentJavaDefines
agentJavaDefines=-Xmx512M -XX:MaxPermSize=96M

Por fim, tente reexecutar o agente através do comando "emctl start agent":

[emc12@localhost ~]$ emctl start agent
Oracle Enterprise Manager Cloud Control 12c Release 5
Copyright (c) 1996, 2015 Oracle Corporation.  All rights reserved.
Starting agent ..................... started.

Ótimo, o agente voltou a funcionar. No entanto, se você ainda receber qualquer erro, será necessário limpar o "estado" do agente e tentar novamente.

Siga os passos:

  1. Pare e mate qualquer processo ainda existente e relacionado ao EM Agent que ainda estiver executando (perl ou java).
  2. Apague todos os arquivos da pasta '$AGENT_BASE/agent_inst/sysman/emd/state/*' (ou mova para uma pasta temporária).
  3. Limpe o estado do agente executando: emctl clearstate agent.
  4. Aumente a memória alocada editando o arquivo emd.properties, como demonstrado anteriormente, caso ainda não tenha feito.
  5. Tente iniciar o agente novamente.

 

Para maiores informações, existe um DOC ID no MOS que pode auxiliar:

 

Gostou? Não deixe de comentar ou deixar um 👍!

Deixe um comentário

Seu e-mail não será publicado.