English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
OCaml runtime using too much memory in 64-bit Linux
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-11-07 (19:12)
From: Adam Chlipala <achlipala@j...>
Subject: Re: [Caml-list] OCaml runtime using too much memory in 64-bit Linux
Gerd Stolpmann wrote:
> Am Mittwoch, den 07.11.2007, 12:28 -0500 schrieb Adam Chlipala:
>> I've encountered a problem where certain OCaml programs use orders of 
>> magnitude more RAM when compiled/run in 64-bit Linux instead of 32-bit 
>> Linux.  Some investigation led to the conclusion that the difference has 
>> to do with the size of OCaml page tables.  (Here I mean the page tables 
>> maintained by the OCaml runtime system, not any OS stuff.)
>> ...
> We are using O'Caml on 64 bit Linux, and aren't aware of such problems.
> Did you observe a debug GC message that proves it? 200 MB means that an
> address space of 200M * 4K = 8E is covered.

Here's one run, cut off after allocation seems to settle down:

OCAMLRUNPARAM="v=12" ./program_name.exe
Growing heap to 960k bytes
Growing page table to 204151332 entries
Growing heap to 1440k bytes
Growing heap to 1920k bytes

> Also think of Linux modifications that do address randomization, i.e.
> prevent that contiguous addresses are allocated.

That would definitely cause trouble.  Thanks for the suggestion; I'll 
look into it.