So I take it we should reserve the 500 MB with fixed (or rigid I think it is
called) memory? That might cause other problems *). Thanks for the response.


*) When you reserve flexible memory the OS of the system VMWare runs on you
get a situation where more memory is allocated then flexible is available.
Compare it with airplane seets that often are oversold. By reserving rigid
memory I'm told the whole equation becomes far more complex.

On Fri, Jan 15, 2010 at 10:42 AM, André Warnier <a...@ice-sa.com> wrote:

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

Reply via email to