I have 8 Gbytes RAM, but why I can allocate 2.8 Gbytes RAM for a single process? How to patch kernel so I have more than 2.8 Gbytes limitation?
Kernel: --------------------------- Linux xxx.com 2.6.9-023stab046.2-enterprise #1 SMP Mon Dec 10 15:22:33 MSK 2007 i686 i686 i386 GNU/Linux Mem: --------------------------- # cat /proc/meminfo MemTotal: 8296484 kB MemFree: 50416 kB Buffers: 64412 kB Cached: 4927328 kB SwapCached: 0 kB Active: 6710828 kB Inactive: 1065384 kB HighTotal: 4980736 kB HighFree: 1024 kB LowTotal: 3315748 kB LowFree: 49392 kB SwapTotal: 10256376 kB SwapFree: 10255732 kB Dirty: 64 kB Writeback: 0 kB Mapped: 3054960 kB Slab: 393224 kB CommitLimit: 14404616 kB Committed_AS: 6318152 kB PageTables: 34892 kB VmallocTotal: 303096 kB VmallocUsed: 22360 kB VmallocChunk: 280496 kB CPU (8 processor id from 0-7), one of them is: --------------------------- processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 6 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 4 cpu MHz : 2993.054 cache size : 2048 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl est cid xtpr bogomips : 5989.55 App to test memory limit: --------------------------- #include <stdio.h> #include <stdlib.h> int main(){ size_t siz = 100 * 1024 * 1024 ; size_t idx = 1 ; void *ptr; for (;;){ ptr = malloc ( siz * idx ); if(!ptr) break ; free(ptr); idx++; } printf ("Max malloc %d * 100 MB \n", idx - 1 ); return (0); } App result: Max malloc 28 * 100 MB ==> 2.8 Gbytes -- Regards, Ady Wicaksono Email: ady.wicaksono at gmail.com http://adywicaksono.wordpress.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/