As far as I know, heap memory is used by objects. On the other hand, our 
application has static variables and references to the objects residing in heap 
area. Does it mean, static variables and references of our application are 
stored outside of reserved 512MB area? Or, the memory outside of 512MB reserved 
heap area used only by Java itself?

 



________________________________
From: Peter Crowther <peter.crowt...@melandra.com>
To: Tomcat Users List <users@tomcat.apache.org>
Sent: Tue, January 26, 2010 5:43:22 PM
Subject: Re: tomcat memory usage

2010/1/26 Hüsnü Þentürk <husnusent...@yahoo.com>

> Hi,
> In our company, we are using apache tomcat as a windows service. We defined
> jvm parameters "--JvmMs 512 --JvmMx 512" in service.bat. But application is
> using 600,980 KB memory. I expect the application not to use more then 512
> MB.
>
> Can you explain me, the reason of this stuation.
>
> You are setting the memory that Java uses to store heap objects.  That is
not the only memory Java uses.  Other uses include:
- The JVM code itself;
- Native code stacks per-thread;
- Native objects such as sockets and threads;
- Any loaded DLLs.

You have no direct way of controlling the size of any of these.  If you want
to reduce Java's memory usage, you can reduce its heap space after
monitoring what the process' overheads are.

- Peter



      

Reply via email to