We are using Tomcat 7.0.23 with jdk1.6.0_30 on Solaris 10, mod_ajp 1.3 and
Apache 2.2.21.
I'm using the following code to retrieve memory information from our JMX server:
ObjectName contextObjectName = new ObjectName("java.lang:type=Memory");
CompositeData memoryUsage =
(CompositeData)server.getAttribute(contextObjectName, "HeapMemoryUsage");
This works really well most of the time but we occasionally we get this
exception when trying to retrieve HeapMemoryUsage:
javax.management.RuntimeMBeanException:
java.lang.IllegalArgumentException: committed = 1607688192 should be < max =
1607270400
After some digging, I found that it is a bug in the JVM (It occurs in 1.7, too):
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7100266
My questions for the list then are has anyone else come across this and, if so,
how did you get around it? Is there an alternative way for retrieving used and
committed memory from a JMX MBean?
Thank you,
-Kari
_________________________________
Kari Scott
Senior Programmer
[email protected]<mailto:[email protected]>
CDW
5520 Research Park Drive
Madison, WI 53711
Office: 608 298 1223
Fax: 608 288 3007