kirk at kodewerk.com
Wed Dec 19 05:48:19 PST 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.
>> 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  is
> (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
> : 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