[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: 512MB RAM, 860MB swap and out of memory ?



> My Debian Linux 2.0 cannot use more than 460MB sawp :(

There is a similar thread going on on linux-kernel that may be apropos to
your situation.

Basically, what it comes down to is that the way a (stock) Linux kernel
lays out memory, it is unable to address more than approximately 960MB
of memory (I would assume RAM + SWAP, in your case).

I am not sure if the 2.0 series of kernels has any ability to work around
this problem, but the 2.1 series certainly does.  In 
/usr/src/linux/include/asm-i386/page.h, you will find the following comment
and constant definition:

/*
 * This handles the memory map.. We could make this a config
 * option, but too many people screw it up, and too few need
 * it.
 *
 * A __PAGE_OFFSET of 0xC0000000 means that the kernel has
 * a virtual address space of one gigabyte, which limits the
 * amount of physical memory you can use to about 950MB. If
 * you want to use more physical memory, change this define.
 *
 * For example, if you have 2GB worth of physical memory, you
 * could change this define to 0x70000000, which gives the
 * kernel slightly more than 2GB of virtual memory (enough to
 * map all your physical memory + a bit extra for various
 * io-memory mappings)
 *
 * IF YOU CHANGE THIS, PLEASE ALSO CHANGE
 *
 *      arch/i386/vmlinux.lds
 *
 * which has the same constant encoded..
 */
#define __PAGE_OFFSET           (0xC0000000)

-Jon Burchmore


Reply to: