On Fri, 2005-09-23 at 14:45 +0200, Malte Cornils wrote: > Hello, > > we've been trying to make a program (ITK/VTK image processing for a > university > project) work. Unfortunately, the process needs slightly above 2 GiB of > virtual memory. > > Judging from the documentation I've seen, on 32bit systems I should be able > to > allocate up to 3 GiB of virtual memory (1 GiB of 32bit address space is > reserved for the kernel). > > However, our test case for this terminates when trying to allocate more than > 2 > GiB of memory, even though we have a really big swap file. > > Does anyone have a clue why 2 GiB is the limit?
http://www.puschitz.com/TuningLinuxForOracle.shtml#AddressMappingsOnLinux 0GB-1GB User space - Used for executable and brk/sbrk allocations (malloc uses brk for small chunks). 1GB-2GB User space - Used for mmaps (shared memory), shared libraries and malloc uses mmap (malloc uses mmap for large chunks). 2GB-3GB User space - Used for stack. 3GB-4GB Kernel Space - Used for the kernel itself. > Would using a swap partition > instead of a swap file help? The 64G HIGHMEM kernel config option does not > seem to make a difference. On a real AMD64 system, the program works fine > with >2 GiB RAM, as was expected. Is there any way to make this work, besides > changing the algorithm to use less than 2 GiB of memory? No. > We're using Debian sarge (3.1) with its provided 2.6.8 i386 kernels. Any hint > would be much appreciated! > > -Malte > > PS: Please Cc: me if possible If you send question to the list, you should expect the answer to only go to the list. -- ----------------------------------------------------------------- Ron Johnson, Jr. Temporarily not of Jefferson, LA USA PGP Key ID 8834C06B I prefer encrypted mail. "There is no shadow of protection to be had by sheltering behind the slender stockades of visionary speculation, or by hiding behind the wagon-wheels of pacific theories." Madame Chiang Kai-Shek
signature.asc
Description: This is a digitally signed message part