This week's book giveaway is in the Design forum.
We're giving away four copies of Building Microservices and have Sam Newman on-line!
See this thread for details.
The moose likes Performance and the fly likes Help need in GarbageCollection , not running as expected Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Building Microservices this week in the Design forum!
JavaRanch » Java Forums » Java » Performance
Bookmark "Help need in GarbageCollection , not running as expected" Watch "Help need in GarbageCollection , not running as expected" New topic
Author

Help need in GarbageCollection , not running as expected

Sunny Kumar Kalra
Greenhorn

Joined: Oct 10, 2010
Posts: 15
We are using weblogic 9.22 and Java 5 with below server parameters

SERVER_JAVA_OPTIONS="-Dweblogic.Debug=weblogic.JTAJDBC,weblogic.JTA2PC,weblogic.JTAXA,weblogicJTAResourceHealth -Dweblogic.Debug=weblogic.ejb20.cmp.rdbms.verbose,weblogic.ejb20.cml.rdbms.debug -Ddebug.methodNames=true -Ddebug.lineNumber=true"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dweblogic.webservice.client.ssl.trustedcertfile=${SERVER_WEBLOGIC_HOME}/server/lib/trusted.crt"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Djava.protocol.handler.pkgs=weblogic.webservice.client"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dweblogic.webservice.client.ssl.strictcertchecking=false"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dweblogic.security.SSL.enforceConstraints=false"
#SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Djavax.net.ssl.trustStore=/apps/opt/weblogic/config/cabpool/some_keystore"
#SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dssl.debug=true"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dweblogic.webservice.verbose=false"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:+UseConcMarkSweepGC"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:+UseParNewGC"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:+CMSParallelRemarkEnabled"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:CMSInitiatingOccupancyFraction=60"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:+UseCMSInitiatingOccupancyOnly"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:ParallelGCThreads=8"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:PermSize=512m"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:MaxPermSize=512m -d64 -Xss512k"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:NewSize=192m"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:MaxNewSize=192m"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:+PrintGCDetails"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -XX:+PrintGCTimeStamps"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Xloggc:/abcdrive/mydomain/garbcollector.log"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=8885"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false"
SERVER_JAVA_OPTIONS="${SERVER_JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"

Heap Size is 4GB

According to CMSInitiatingOccupancyFraction=60 , GC should work when reaching 60% of the memory. But that's not happening instead memory consumption goes above 4GB then GC works and memory comes down to 500MB ,during this our GUI screen hangs for few seconds.

Could somebody please help me in this ?
Paul Clapham
Sheriff

Joined: Oct 14, 2005
Posts: 19728
    
  10

Sunny Kumar Kalra wrote:According to CMSInitiatingOccupancyFraction=60 , GC should work when reaching 60% of the memory.


That isn't what I read in Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine, section 5.4.7. You'll notice it doesn't describe the value of that property as "X% of the memory". Instead it says

A concurrent collection will also start if the occupancy of the tenured generation grows above the initiating occupancy...

 
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
 
subject: Help need in GarbageCollection , not running as expected
 
It's not a secret anymore!