Skip to Main Content

Java HotSpot Virtual Machine

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Seeing "Unloading class ..." messages without -XX:+CMSClassUnloadingEnabled?

cfredhartNov 20 2015 — edited Nov 24 2015

We are running an application on jboss-eap-6.0.1 with java version shown below

$ java -version

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

When the heap starts getting full, I start seeing a large number of "Unloading class..." messages like the ones below in the stdout logs. We do not have the -XX:+CMSClassUnloadingEnabled flag set and from what I've found, we should not be unloading classes. I did find a posting on Atlassian's site (https://confluence.atlassian.com/display/JIRAKB/%5BUnloading+class+sun.reflect.GeneratedMethodAccessor%5D+found+in+Tomca…) that indicates that the JVM will unload classes without the -XX:+CMSClassUnloadingEnabled flag set if "the JVM finds it physically does not have the resources that have been allocated to it, (usually due to either VM ballooning or resource stealing)". I have not seen discussions of this elsewhere and wanted to understand if it's possible that the JVM might try to collect classes as a last ditch effort to gain memory or if there might be some other explanation such as the options specified on our command line implicitly sets the -XX:+CMSClassUnloadingEnabled flag. Any insights are appreciated.

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor897]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor709]

[Unloading class sun.reflect.GeneratedConstructorAccessor570]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor996]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor816]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor362]

[Unloading class sun.reflect.GeneratedMethodAccessor257]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor46]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor775]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor210]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor332]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor168]

[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor149]

The command line options are

java

-D[Standalone]

-server

-XX:+UseCompressedOops

-XX:+DisableExplicitGC

-Dsun.rmi.dgc.client.gcInterval=36000000

-Dsun.rmi.dgc.server.gcInterval=36000000

-Djs.license.directory=/opt/app/AgentDesktop/resources/jasper

-Djava.io.tmpdir=/opt/tmp

-Xloggc:/opt/app/logs/PRD00_C_gc.log

-XX:+PrintGCTimeStamps

-XX:+PrintGCDetails

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/opt/app/logs/heapDump/PRD00_C

-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

-Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient.wire=ERROR

-XX:+UseConcMarkSweepGC

-XX:+CMSIncrementalMode

-Xmx2560m

-Xms2560m

-XX:NewSize=512M

-XX:MaxPermSize=512m

-XX:PermSize=256M

-XX:+UseCompressedOops

-XX:AutoBoxCacheMax=2048

-Dorg.jboss.boot.log.file=/opt/app/logs/jboss/PRD00_C/boot.log

-Dlogging.configuration=file:/opt/app/jboss-eap-6.0.1/server/PRD00_C/configuration/logging.properties

-jar

/opt/app/jboss/jboss-modules.jar

-mp

/opt/app/jboss/modules

-jaxpmodule

javax.xml.jaxp-provider

org.jboss.as.standalone

-Djboss.home.dir=/opt/app/jboss

-Djboss.server.base.dir=/opt/app/jboss-eap-6.0.1/server/PRD00_C

--server-config=standalone-full-PRD.xml

--properties=file:/opt/app/AgentDesktop/work/jboss/combined.101932939.properties

-Djboss.socket.binding.port-offset=300

-Djboss.server.base.dir=/opt/app/jboss/server/PRD00_C

-Djboss.server.log.dir=/opt/app/logs/jboss/PRD00_C

-Dcom.kana.properties.url=file:/opt/app/AgentDesktop/work/jboss/combined.101932939.properties

-Dcom.gtnet.systemProperties.override.url=file:/opt/app/AgentDesktop/config/PRD//override.properties

-Dcore.home=/opt/app/AgentDesktop

-Denvironment.dir=/opt/app/AgentDesktop/config/PRD

-Denvironment.url=file:/opt/app/AgentDesktop/config/PRD/

-Drelease.id=1

-Dorg.apache.tomcat.util.http.Parameters.MAX_COUNT=1000

-Dorg.jboss.as.logging.per-deployment=false

-b

0.0.0.0

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 22 2015
Added on Nov 20 2015
1 comment
2,451 views