Mark Thomas wrote:
On 15/01/2010 08:57, Abel MacAdam wrote:
Hi,
We manage several customers on VMWare systems. Their Tomcat installation is
used by a Content Management System written in Java. I have a question about
what happens with Tomcat when memory it has configured is not available when
necessary.
Our Tomcat installations should use 500 MB (-Xmx516m). But when that memory
is not used, VMWare will take it away, and give it to other VMWares that are
in need of memory. This will not be a problem for a while. But at one moment
Tomcat may wish to use this memory, and VMWare will not be able to supply it
directly. What will happen in that case?
I suspect you will see slow response times until the virtual machine is
allocated the memory it needs/expects. The interaction of the JVM/OS/VM
is going to be complex. It is probably easier to just try it and see.
Mark
I guess you could also remove one variable out of the equation, and add
a "-Xms516m" switch, making the JVM allocate the 516 MB right at start.
I am told that this is also more efficient (Java-wise), because it
avoids the JVM have to readjust the memory all the time.
As Mark hints at, if you have 3 levels of memory management, each one of
them allocating/deallocating memory dynamically, the final result is
likely to be rather inefficient.
So either you set VMWare to allocate (and reserve) a fixed amount of
memory for this virtual machine, and inside it let the OS and Java
allocate memory dynamically, or else you let VMWare allocate memory more
dynamically ("overbooking" the total available memory) between several
virtual machines. But then, when there is not enough physical memory
available to let a given virtual machine run, I suspect VMWare will just
freeze it out until there is enough memory available. Or it will start
swapping, which should have a pretty dramatic effect on the performance
of /all/ virtual machines.
What VMWare exactly does in that case, is a question to ask on a VMWare
support forum though. If you do, maybe let us know the answer ?
Basically, there is no such thing as a free lunch..
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org