I've always wondered about this, before I encountered OOM, I just
assumed that the JVM would keep asking for memory until the underlying
OS refused to give it any more. Then, when I found the -Xmx switch, I
assumed that there was an option to specify "as much as you can get
from the OS" but again, no.

I imagine the people working on the JVM are a little smarter than the
average bear so there's probably good, non-trivial reasons for
requiring -Xmx but I don't know what they are. Can anyone give some
pointers on this? Also, what does the .Net CLR do? Does it impose any
constraints on memory allocation? Does it suffer from poorer garbage
collection or allocation performance at the expense of its strategy?

Thanks,
Phil



On Aug 12, 2:01 pm, Jess Holle <[email protected]> wrote:
> It's just like the pre-OS-X Mac OS in this regard :-)
>
> Though I can understand why it is hard to avoid -Xmx for various GC
> algorithms whereas the pre-OS-X Mac OS really had no excuse.
>
> On 8/12/2011 7:48 AM, phil swenson wrote:
>
>
>
>
>
>
>
> >http://eblog.chrononsystems.com/xmx-is-hurting-the-usability-of-java
>
> > I've been saying this since I first discovered the terrible
> > OutOfMemoryException in 1999.  Xmx makes java inherently unstable.
> > You can't rely on your app to stay up until you find the magic Xmx
> > setting.  WTF!?
>
> > Dick/Carl/Tor/Joe - when you talk to Mark Reinnhold, can you bring this up?

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to