> 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