Agree that maximum size is still desirable for system stability
reason. :-)  ( I hope the OS MM can be more intelligent to deal with
overcommitment.)  But here in this specific discussion context, I
think the word `unlimit' or `infinite' is meaning `unlimit under
certain limit'. Whatever the limit is can be defined by the clever OS
(which returns a ENOMEM, for example) or user heuristics.

Thanks,
xiaofeng

On 7/30/06, Florian Weimer <[EMAIL PROTECTED]> wrote:
* Xiao-Feng Li:

> 1. the GC design usually hopes to have continuous memory space. The
> dynamic heap increase and decrease may have difficulty to interact
> with OS so as to keep the GC heap continuous.

At least on Linux, you can mmap with PROT_NONE to reserve an address
range, and later populate it with backing storage with mprotect.
(Initially, the reserved address space does not count against the
reserved memory counter of the process.)  Unfortunately, on 32-bit
systems, the available address space will be somewhat fragmented, so
you still need to support different regions.

For robustness purposes, I fear you still need the maximum heap size
on Linux, unless overcommitment is turned off (which is not the
default).  Otherwise, some process just dies (not necessarily the VM
that has gone awry), which can have a huge impact on system stability.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to