Sill question

Kirk Pepperdine kirk at kodewerk.com
Wed Dec 19 13:48:19 UTC 2012


On 2012-12-19, at 8:59 AM, Krystal Mok <rednaxelafx at gmail.com> wrote:

>> Interesting indeed. It doesn't quite explain why I can't get a 32 bit 1.5 JVM to give me a heap 1 byte bigger than 1g
> 
> So that's the original question. Bernd has given the correct answer already.

Correct indeed but not so useful ;-) Well, that's a bit harsh, knowing the correct answer is useful but I fear that not much could be done about it.. 'cept repack like Aleksey has suggested.

Thanks all.

-- Kirk

> 
>> The next question is; which dll is offending and how to get it remapped else where.
> 
> Because the JVM doesn't have control over where shared library files
> are mapped, this is generally not doable, especially where ASLR [1] is
> enabled.
> 
> (There are hacks to specify the load address of executables/shared
> libraries, and sometimes you'd be lucky enough to find out and files
> that are mapped in "the middle" and pack them to one side of the
> address space. But I'd rather upgrade to 64-bit to get rid of the
> address space limitations)
> 
> - Kris
> 
> [1]: http://en.wikipedia.org/wiki/Address_space_layout_randomization
> 
> On Wed, Dec 19, 2012 at 2:48 PM, Kirk Pepperdine <kirk at kodewerk.com> wrote:
>> 
>> On 2012-12-19, at 7:28 AM, Bernd Eckenfels <bernd-2012 at eckenfels.net> wrote:
>> 
>>> Am 19.12.2012 um 07:06 schrieb Kirk Pepperdine <kirk at kodewerk.com>:
>>>> 
>>>> Interesting indeed. It doesn't quite explain why I can't get a 32 bit 1.5 JVM to give me a heap 1 byte bigger than 1g
>>> 
>>> 
>>> If your VM fails to allocate it is typically because there is no continuous address space (for example shared libraries can be mapped in wrong region).
>> 
>> As usual the correct answer is the one that makes most sense yet doesn't. The next question is; which dll is offending and how to get it remapped else where.
>> 
>> -- Kirk
>> 




More information about the hotspot-gc-dev mailing list