1

I'm working on SWING aged application, which was designed to run on jre 1.5. Now, I ported the application to run on JRE 1.7.

Problem is in heap consumption. JRE 5 uses 15 MB of heap memory, but when I run the same application in JRE 7 heap usage is around 24 MB. If I see process memory in task manager; JRE 7 uses 15 MB more than the JRE 5. How could this be?

Note : There are no change except JRE. And above is tested in same machine. OS : windows XP (32 bit)

mKorbel
  • 109,525
  • 20
  • 134
  • 319

1 Answers1

1

From what I could read in Oracle's relase Note of Java 7 (look at "RFE: 6962931") interned String are allocated in main heap generation which could have an impact on big applications.

It seems also that the heap size is determined differently since Java 6 in order take advantage of faster platform (same page, next point).

I am not sure however it explains everithing.

C.Champagne
  • 5,381
  • 2
  • 23
  • 35
  • 1
    Interned String allocation is now moved from perm to heap. How this will affect process memory consumption. I have done some work around and now heap is controlled (by setting Xms). But the thing is now perm memory was increased from 12MB to 19MB. Any how memory consumption is high in java 7. – Karthigeyan Oct 10 '13 at 13:03