문제

In the previous Jelastic forum there was an issue that was discussed about the system not releasing RAM, eventually leading to a system crash.

I am fairly certain I am experiencing this issue in my environment (running on Jelastic 1.9.2.1), for the following reasons:

  • my application is stable in other hosting environments, there is no memory leak in my application
  • I can see in the graphs that more RAM is periodically granted, the RAM usage increases in uniform and predictable steps
  • RAM is never released

I am eager to make use of the new GC Agent feature in Jelastic 1.9.3.
http://docs.jelastic.com/release-notes-193#a
http://docs.jelastic.com/releasing-ram-gc-agent

My cloud provider has said that they plan to upgrade to Jelastic 1.9.3, but will not say when.

Question 1: Once my cloud provider has upgraded, will this feature be automatically available to my existing environments?

Question 2: Would it be possible to patch my 1.9.2.1 environment now? Is only the jar below required, and would it be compatible with my 1.9.2.1 env?

From the documentation, in variables.conf: -javaagent:/var/lib/jelastic/java/jelastic-gc-agent.jar

UPDATE - PARTIALLY RESOLVED

  • After the upgrade, my environments do not have the jelastic-gc-agent.jar. When I add the standard configuration to my variables.conf, tomcat startup fails because the jelastic-gc-agent.jar doesn't exist.

  • I uploaded the jar provided by @leo, and I configured the path correctly, tomcat successfully starts up, but there is no evidence that the agent is working, no logging, no reduction in memory consumption, ever. The green line (tomcat statistics, RAM graph) just goes up and up and up (over a long period of time).

  • I have configured jvisualvm. One of my environments has a Scaling Limit of 12 (on the tomcat component). The following is observed in the jvisualvm Overview: -XX:+UseSerialGC -Xminf0.1 -Xmaxf0.3 -Xms16M -Xmx1501M -javaagent:/opt/tomcat/lib/jelastic-gc-agent.jar=debug=true,period=60

  • From http://docs.jelastic.com/releasing-ram-gc-agent

    It [Jelastic GC agent] works only for two kinds of Garbage Collection:

    • -XX:+UseParNewGC (if -Xmx < 8000m)
    • -XX:+UseG1GC (if -Xmx >= 8000m)
  • So I then tried "-XX:+UseParNewGC" but I got an error: Conflicting collector combinations in option list; please refer to the release notes for the combinations allowed Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

  • When I create a brand new environment, and enable the agent, I can see it working, logging etc.

  • Some success: One of my larger environments (Scaling Limit 64) has been successfully patched, I see the agent working. So there must be an issue with smaller environments.

도움이 되었습니까?

해결책

Question 1: Once my cloud provider has upgraded, will this feature be automatically available to my existing environments?

This feature will be automatically available for existing environments after upgrade.

Question 2: Would it be possible to patch my 1.9.2.1 environment now? Is only the jar below required, and would it be compatible with my 1.9.2.1 env?

I can not say for sure, but you can try to patch your environment yourself.

http://www.sendspace.com/file/eo1ia7 (jelastic-gc-agent.jar)

Put this file to /lib folder by the dashboard and add such line in variables.conf:

-javaagent:/opt/tomcat/lib/jelastic-gc-agent.jar

I will be glad if this help you.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top