2 Replies Latest reply: Dec 22, 2008 8:32 AM by 843829 RSS

    JVM GC problem


      (a) I experience memory problem. Rate at which objects are created are quite high (10,000 objects /secound).
      Object expiration is done in a seperate thread. 2gb heapsize gets full in an hour. Seems rate of GC is not
      high enough.

      (b) GC should be done in concurrent, with no big pauses, for this to happen I attempted all below options - maximize young generation - prevent major collections. But none seem to work. Also I observer pause during profiling but verbose log gives no indication of full and tenured collections.

      -Xms512m -Xmx2048m -XX:MaxPermSize=64m -XX:NewRatio=2 -XX:SurvivorRatio=10 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Xloggc:gcprofile.log -verbose:gc -XX:+PrintTenuringDistribution -Xloggc:/home/soruser/workspace/sor/quotereceiver/gc.log -Xss128k -XX:+UseBiasedLocking -XX:ParallelGCThreads=20 -XX:MaxTenuringThreshold=31 -XX:+AggressiveOpts -XX:SurvivorRatio=8 -XX

      (c) I need settings to be fast and close to real time systems. With huge amount of objects created garbage collection should happen fast.