Messages in this thread | | | Date | Mon, 5 Oct 2009 23:57:24 +0800 (SGT) | From | Jeff Chua <> | Subject | 2.6.32-rc3: low mem - only 378MB on x86_32 with 64GB. Why? |
| |
I've 3 systems with 4GB, 16GB and 64GB all running 32bit with these set:
CONFIG_X86_32=y CONFIG_X86=y CONFIG_ZONE_DMA=y # CONFIG_ZONE_DMA32 is not set CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_HIGHMEM64G=y CONFIG_HIGHMEM=y CONFIG_X86_PAE=y CONFIG_KSM=y CONFIG_HIGHPTE=y
# using "free -lm" ...
# with 4GB total used free shared buffers cached Mem: 3983 3862 120 0 112 3542 Low: 850 738 112 High: 3132 3123 8 -/+ buffers/cache: 207 3775 Swap: 8008 0 8008
# with 16GB total used free shared buffers cached Mem: 16244 6570 9673 0 320 5559 Low: 750 717 33 High: 15493 5853 9640 -/+ buffers/cache: 690 15554 Swap: 26709 0 26709
# with 64GB total used free shared buffers cached Mem: 63995 524 63470 0 4 365 Low: 378 32 345 High: 63616 492 63124 -/+ buffers/cache: 154 63840 Swap: 28003 0 28003
Question is ... is there anyway to increase "low mem" without resorting to migrating to 64bit? (Look... it only has 378MB total low mem vs 850MB on the 4GB system). I've oracle installed on the 64GB system and it keeps getting OOMs!
I thought CONFIG_HIGHPTE (Allocate 3rd-level pagetables from highmem) is supposed to help with low mem as stated here ...
CONFIG_HIGHPTE: The VM uses one page table entry for each page of physical memory. For systems with a lot of RAM, this can be wasteful of precious low memory. Setting this option will put user-space page table entries in high memory.
Anything I should do? Slow death using sysctl like this ... vm.min_free_kbytes = 16384 vm.overcommit_memory = 2 vm.overcommit_ratio = 75 vm.vfs_cache_pressure = 10000
Thanks, Jeff.
P.S. I was trying to "cross-compile" a gcc compiler, but didn't get far. That's a different topic ... offline, please write to me directly if you've done this ... would need binutil 64 (compile ok), gcc 64 (stucked ... seems to be looking for libc 64bit) ...
| |