Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Utilizing more than 4GB of memory in caml?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-08-14 (16:17)
From: Lionel Elie Mamane <lionel@m...>
Subject: Re: [Caml-list] Utilizing more than 4GB of memory in caml?
On Tue, Aug 14, 2007 at 04:36:27PM +0200, Koprowski, A. wrote:

>> -----Original Message-----
>> From: Lionel Elie Mamane []

>> On Tue, Aug 14, 2007 at 04:16:14PM +0200, Koprowski, A. wrote:

>>>  I have a 32-bit linux machine with 48-bit addressing of its 128GB
>>>  of RAM. I'd very much like to use this amount of memory; however
>>>  I get Out_of_memory exception after ocaml consumes 4GB. Is there
>>>  anything can do to get my hands on more than 

>> Run a 64 bit GNU/Linux on that machine, (...)

>   Thanks for the suggestion but I'm afraid I cannot do that. This is
> a faculty server to which I only have a user access.

 uname -m
in a shell. If the answer is x86_64, there are things you can do. If
it says i386, i486 or i686, all you can do is complain to the system
administrator (if you are in informatica, I presume that would be bcf
in room HG 8.73 - 8th floor of Hoofdgebouw; is the machine by any
chance elephant?).

In case of x86_64: How much manual hacking are you willing to do?

The 32 bit GNU/Linux installation installed may be a mixed 32/64
installation. Look whether it contains /lib64/ or
/lib/ or /usr/lib/ or
/usr/lib64/ . If it does, look for
/lib64/ or /usr/lib64/ . Their presence means you
can _run_ 64 bit binaries.

Then, see whether the gcc installed can produce 64 binaries (option

If both of these tests are positive, you can compile a 64 bit OCaml
(force OCaml's make system to use the -m64 option to gcc and force it
to produce OCaml compilers for the x86_64 architecture instead of
i386; details of how to do that left for you to find out) and run it.

If these tests are negative (or one of them is), you can:

 - if the gcc cannot build 64 bit binaries, compile a gcc that can
   ( and install it in your home.

 - if there is no 64 bit libc installed, compile it and install it in
   your home. You may have to set LD_LIBRARY_PATH and/or execute your
   64 bit binaries with "$HOME/usr/lib/
   EXECUTABLE" instead of with "EXECUTABLE".

Again, details left for you to discover.