简体   繁体   中英

How could it be that classloader address changes in Websphere 6.1 (IBM JVM)

I observe in consecutive javacore dumps that the addresses of classloaders are changing in Websphere 6.1 (IBM JVM 1.5.0). The classes below the classloader have unchanged address. So isn't it the same classloader at a new address?

Eg in first javacore

2CLTEXTCLLOAD Loader com/ibm/ws/classloader/CompoundClassLoader(0x00002AAABF5BB7F0)
3CLTEXTCLASS org/eclipse/emf/ecore/EObject(0x00002AAB24684B30)

and in a later javacore

2CLTEXTCLLOAD Loader com/ibm/ws/classloader/CompoundClassLoader(0x00002AAABF5AB6E0)
3CLTEXTCLASS org/eclipse/emf/ecore/EObject(0x00002AAB24684B30)

Same class previously under a classloader at 0x00002AAABF5BB7F0, and now the classloader is at 0x00002AAABF5AB6E0

I'm trying to figure out a class unloading problem, and this does not seem to make life easier when digging through heap dumps.

Perhaps the GC is compacting the heap. Consider -Xnocompactgc or -Xnocompactexplicitgc as a generic JVM arguments. See IBM JDK diagnoses documentation: http://www.ibm.com/developerworks/java/jdk/diagnosis/

If the application was stopped and restarted wouldnt' new classloaders be created for your classes because there is an application classloader?

Are you concerned about this because of native heap consumption or something else?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM