i've a problem with our jmx monitoring. we monitor the perm gen of some jvms with jmx. but from time to time the name of the mbean changes from "PS Perm Gen" to "Perm Gen" or vice versa. it happens with a restart of the tomcat server, but not with every restart.
the jvm version is 1.5.0_16.
has anyone experienced this problem and perhaps has a solution?
You are presumably using different garbage collectors. The name of the
PermGen
memory area is different depending on the selected garbage collector:-XX:+UseParallelGC
: PS PermGen-XX:+UseConcMarkSweepGC
: CMS PermGen-XX:+UseSerialGC
: PermGenLooks like Tomcat is started up with either the serial ( stop-the-world ) collector or the parallel collector.
Verify any inconsistencies in the startup scripts or the environment settings.
Update: The garbage collector and memory settings are influenced by the JVM ergonomics , which means that they get auto-selected at startup based on the characteristics of the computer the JVM is running on. I can't find any references right now but IIRC they are based on CPU architecture and total memory available.
I suggest you specify one of the garbage collectors in your startup scripts. Depending on your application, it might not be good to have a random garbage collector picked.