|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
You found a bug.
Invoking a client using
java -mxYm <className>
works fine for values of Y up to 550 on the G4 but somewhere between 550 and 600 invocation results in an immediate bus error.
This is the bug. I filed it on your behalf - #2764646 if you are interested. If you use the -XX:-UseSharedGen flag, the -mx value behaves as one would expect. You'll find the current hard limit around 950MB:
[/Sources/Hello] java -XX:-UseSharedGen -mx1000M -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
zsh: abort java -XX:-UseSharedGen -mx1000M -version
The latter error is what one should see if there's not enough VM available (yes, we could make it prettier ;-).
Is there some upper limit on what the VM can handle as a memory specification? Network bandwidth between clients and the servers is my current bottleneck and running fewer, fatter clients would allow me to scale without upgrading the network.
There is currently a hard limit for technical reasons (related to shared library location in VM). This is obviously pathetically small and we will try to raise the limit at some point in the future.
Also, is there someway I can get the system to allocate more virtual memory (that the JVM could grab)? The UNIX admin in me keeps whispering "allocate additional swap partitions" which obviously doesn't apply here...
Neglecting my comment above, the theoretical limit *should* be something like our total VM space (4GB) minus 256MB, minus space for thread stacks and dylibs.
Hope this helps,
|>Re: OS X VM memory allocation (From: Andy Belk <email@hidden>)|
Visit the Apple Store online or at retail locations.
Copyright © 2011 Apple Inc. All rights reserved.