HI Anirban,
 
I try -Xingcg and it works well.
 
Thank you
 
 
-----Message d'origine-----
De : Anirban Bhadore <[EMAIL PROTECTED]>
À : [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Date : lundi 31 mars 2003 07:06
Objet : Re: [JAVA3D] Memory Problem

-Xincgc actually helps in reducing the pauses due to gc runs in your application. This enhances the responsiveness of the application but reduces the throughput(the CPU time enjoyed by the application) of the application. I could not see any 'better memory management'( if this means better memory releasing to the system) by using -Xincgc in hotspot JVM 1.3.1 on windows. What is better memory management that you have got? Can you give more details please?
 
By default jvm maintains free memory in the jvm for future object creation. Thats why even if the java memory used in the heap is less , sometimes the java free memory space in the jvm is very high, especially when the jvm memory falls down after reaching a peak. This is because hotspot JVM  keeps the free memory % between 40 to 70 of the total JVM memory size. These nos can be modified by useing hotspot jvm 1.3 options . For 1.4 there are also same options which I am yet to try.
 
XX:MaxHeapFreeRatio=<Maximum>
-X:MinHeapFreeRation=<Minimum>
 
for details refer to -
 
 
 
So if you make the free memory space tighter, jvm will release the memory to the system to the level you want. ( e.g. by setting the % values from 10 to 20%, lot of memory will be released to the system). But as expected this hampers the performance as next time for new object creation it has to again ask memory from the system and this may occur quite frequently. This behavior is tested on hotspot jvm 1.3.1 on windows. In my application I am able to release memory from around 350MB to around 10 MB !
 
Any comments?
 
thanks
anirban
 
----- Original Message -----
Sent: Sunday, March 30, 2003 7:34 AM
Subject: Re: [JAVA3D] Memory Problem

Hi Hrotelle,

 

 

 

I experienced improved memory management when running applets/servlets with incremental garbage collection:

 

  -Xincgc

 

you can actually see that memory is released back to the system from time to time it may be worthwhile to call

 

    System.runFinalization();

    System.gc();

 

explicitly (lets say after freeing/cleaning up references)

 

Isaac Brobbey

Java2 & Java3D

MS/CIT Project

 

Reply via email to