ATN54
ATN54

Reputation: 137

JVM Survivor Spaces are not used

I am currently making a code audit on many java applications for a major energy administration located in France.

I have used many Tools to audit the code (I even wrote a specific parser since I cannot compile the code...). For the performance problem (one of the sides of the Audit), I used dynaTrace and it has shown me that the susrvivor spaces are totally empty.

In addition the Eden space is never garbage collected which provokes large amounts of "stop the world GC" on the tenured space. The Enden space is 1GB space, survivors are 300MB, and tenured is 2,8GB.

Could you help me find an explanation for that strange behavior ? Thanks in advance.

Upvotes: 2

Views: 668

Answers (1)

Sofo Gial
Sofo Gial

Reputation: 703

According to this post: https://stackoverflow.com/a/39933015/6162023

So will there be ever a scenario to have that objects directly gets copied from eden to Old if objects are smaller in size (not humongous) ?

If you make the survivor spaces small enough to trigger a full collection each time, the objects will go from Eden to Tenured.

In your case, if the code contains a memory leak (which is the most probable scenario), if the leak is big enough that a Minor GC would fill all of your Survivor space, then objects are moved to the Old Gen (Tenured) space straight away.

Upvotes: 2

Related Questions