--- linux-2.6.8.1/fs/proc/proc_misc.c 2004-08-18 16:32:07.000000000 -0400 +++ linux-2.6.8.1.new/fs/proc/proc_misc.c 2004-08-18 16:55:47.000000000 -0400 @@ -153,7 +153,7 @@ int count, int *eof, void *data) { struct sysinfo i; - int len, committed; + int len, committed, allowed; struct page_state ps; unsigned long inactive; unsigned long active; @@ -171,6 +171,8 @@ si_meminfo(&i); si_swapinfo(&i); committed = atomic_read(&vm_committed_space); + allowed = ((totalram_pages - hugetlb_total_pages()) + * sysctl_overcommit_ratio / 100) + total_swap_pages; vmtot = (VMALLOC_END-VMALLOC_START)>>10; vmi = get_vmalloc_info(); @@ -198,7 +200,9 @@ "Writeback: %8lu kB\n" "Mapped: %8lu kB\n" "Slab: %8lu kB\n" + "CommitLimit: %8lu kB\n" "Committed_AS: %8u kB\n" + "CommitAvail: %8ld kB\n" "PageTables: %8lu kB\n" "VmallocTotal: %8lu kB\n" "VmallocUsed: %8lu kB\n" @@ -220,7 +224,9 @@ K(ps.nr_writeback), K(ps.nr_mapped), K(ps.nr_slab), + K(allowed), K(committed), + K(allowed - committed), K(ps.nr_page_table_pages), vmtot, vmi.used,