[patch] 2.6.8.1: display committed memory limit and available inmeminfo

From: Frank Hirtz
Date: Thu Aug 19 2004 - 10:01:58 EST


The following patch will have the committed memory limit (per the current overcommit ratio) and the amount of memory remaining under this limit displayed in meminfo.

It's presently somewhat difficult to use the strict memory overcommit settings as it's somewhat difficult to determine the amount of memory remaining under the cap. This patch would make using strict overcommit a good bit simpler. Does such an addition seem reasonable?

Thank you,

Frank. --- 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,