[openib-general] Mmap, 32 bit machine, limit

Muli Ben-Yehuda MULI at il.ibm.com
Wed Jun 22 03:32:41 PDT 2005


> In total, these 22 files come to about 3.4GB - roughly 850M addresses. 
> However, the function crashes and gives out the message ENOMEM after 
mapping
> about 2.6GB. 

On 32 bit x86 machines, with the stock Linux kernel address space 
arrangement, you have only 3GB of usable address space (because the kernel 
is mapped at the top 1GB). Since some address space is taken up by your 
program code, data and stack (and any shared libraries that it's using), 
that leaves something less than 3 GB. If you really need more than 3GB of 
usable address space, either switch to a 64 bit machine, or use multiple 
processes (each has its own address space) and some form of IPC between 
them. 

Cheers,
Muli



More information about the general mailing list