> From: peter.crowth...@googlemail.com
> [mailto:peter.crowth...@googlemail.com] On Behalf Of Peter Crowther
> Subject: Re: Java heap size limit
> 
> 1) CPU time to expand the heap - during which your application may be
> unresponsive, I'm not sure how the modern JVMs work.

Expansion is done by a separate thread, but the app may still be stuck waiting 
for the expansion in order to satisfy a large allocation.  For typical 
allocations, the expansion is asynchronous.

> 2) The system may have overcommitted memory in the meantime, so may
> need time to flush other data or programs to disk - again, your
> application may be unresponsive during this time.

This is true any time significant swapping occurs.

> 3) Most insidiously, if the system's loaded or allocated something
> that it can't move in the middle of your process' address space, it
> may be unable to move that.

Doesn't happen.  The JVM reserves the maximum heap space, but doesn't commit or 
otherwise touch it until needed.  Nothing else can be allocated in the reserved 
space.  Regardless, once an item (e.g., DLL) is loaded in a particular process 
space, it won't be moved (it might be removed, but not relocated).

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to