How to view the current heap size that an application is using?

mrblah picture mrblah · Jan 6, 2010 · Viewed 103.5k times · Source

I think I increased my heap size to 1 GB in NetBeans since I changed the config to look like this:

netbeans_default_options="-J-Xmx1g ......

After I restarted NetBeans, can I be sure that my app is given 1 GB now?

Is there a way to verify this?

Answer

Drewen picture Drewen · Jan 6, 2010

Use this code:

// Get current size of heap in bytes
long heapSize = Runtime.getRuntime().totalMemory(); 

// Get maximum size of heap in bytes. The heap cannot grow beyond this size.// Any attempt will result in an OutOfMemoryException.
long heapMaxSize = Runtime.getRuntime().maxMemory();

 // Get amount of free memory within the heap in bytes. This size will increase // after garbage collection and decrease as new objects are created.
long heapFreeSize = Runtime.getRuntime().freeMemory(); 

It was useful to me to know it.