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/
>