I tried your suggestion about ulimit, and changing -v to "unlimited"
actually increased the maximum file size I can mmap to 9GB, however
this is still far from the 200GB file I can mmap in Windows. There
might be another setting that must be changed in order to get rid of
this limitation.

Kernel tuning seems to be the best solution, since breaking the file
into smaller pieces would require extra --and complex-- code to handle
such pieces as a whole array.

On Tue, Apr 8, 2008 at 5:37 PM, Raul Miller <[EMAIL PROTECTED]> wrote:
> On 4/8/08, Jorge Arredondo <[EMAIL PROTECTED]> wrote:
>  >   mmap(NULL, 8589935160, PROT_READ, MAP_SHARED, 4, 0) = -1 ENOMEM
>  > (Cannot allocate memory)
>
>  http://www.linux.org/docs/ldp/howto/SCSI-Generic-HOWTO/errors.html
>  http://www.irccrew.org/~cras/security/howto/dynamic.html
>
>  It looks like linux is not designed to mmap large files, by default.
>
>  You might be able to tune your kernel, or you might have to
>  break the file down into smaller pieces (or hope that some day
>  J will introduce a bunch of complex code to work around this
>  problem).
>
>  But the first thing to check is whether whether ulimit -a says that
>  you have any memory limits active.
>
>  --
>
>
> Raul
>  ----------------------------------------------------------------------
>  For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to