Sill question

Krystal Mok rednaxelafx at gmail.com
Tue Dec 18 23:59:48 PST 2012


> 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.

> 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