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:
- Pare e mate qualquer processo ainda existente e relacionado ao EM Agent que ainda estiver executando (perl ou java).
- Apague todos os arquivos da pasta '$AGENT_BASE/agent_inst/sysman/emd/state/*' (ou mova para uma pasta temporária).
- Limpe o estado do agente executando: emctl clearstate agent.
- Aumente a memória alocada editando o arquivo emd.properties, como demonstrado anteriormente, caso ainda não tenha feito.
- 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 👍!