tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier ...@ice-sa.com>
Subject Re: Allocated memory and VMWare
Date Fri, 15 Jan 2010 09:42:08 GMT
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message