I don't know if it is necessary to add the statistics from Runtime. Here is the relationship I see between the stats from Runtime and those got from MemoryMXBean.getHeapMemoryUsage()
Runtime.totalMemory() == MemoryUsage.getCommitted() Runtime.maxMemory() == MemoryUsage.getMax() Runtime.freeMemory() == MemoryUsage.getCommitted() - MemoryUsage.getUsed() Runtime.totalMemory() - Runtime.freeMemory() == MemoryUsage.getUsed() ++Vamsi On Dec 4, 2007 6:51 PM, Anita Kulshreshtha <[EMAIL PROTECTED]> wrote: > If you are interested in usedMemory and maxMemory as given by > Runtime, we could add that again. The JVM Stats give a rough estimate > of heap memory only. > > Thanks > Anita > > --- Vamsavardhana Reddy <[EMAIL PROTECTED]> wrote: > > > I am wondering if the following (which works) is the correct way to > > get > > maxHeapSize and usedMemory from a remote Geronimo server. > > > > import > > org.apache.geronimo.management.stats.BoundedRangeStatisticImpl; > > > > Map map = new HashMap(); > > map.put("jmx.remote.credentials", new String[] {user, > > password}); > > JMXServiceURL address = new JMXServiceURL( > > "service:jmx:rmi:///jndi/rmi://"+host+ ":" + port + > > "/JMXConnector"); > > JMXConnector jmxConnector = > > JMXConnectorFactory.connect(address, > > map); > > mbServerConnection = jmxConnector.getMBeanServerConnection(); > > objName = ObjectName.getInstance > > ("geronimo:J2EEServer=geronimo,name=JVM,j2eeType=JVM"); > > Stats stats = (Stats) > > mbServerConnection.getAttribute(objName, > > "stats"); > > BoundedRangeStatisticImpl statistic = > > (BoundedRangeStatisticImpl) > > stats.getStatistic("HeapSize"); > > long maxMemory = statistic.getUpperBound(); > > long usedMemory = statistic.getCurrent(); > > > > Is this ok? Or, is there a better way? > > > > ++Vamsi > > > > > > > > ____________________________________________________________________________________ > Be a better pen pal. > Text or chat with friends inside Yahoo! Mail. See how. > http://overview.mail.yahoo.com/ >