diff --git a/free.1 b/free.1 index f7c2313a..1e8e7ef7 100644 --- a/free.1 +++ b/free.1 @@ -11,8 +11,11 @@ free \- Display amount of free and used memory in the system .SH DESCRIPTION .B free displays the total amount of free and used physical and swap memory in the -system, as well as the buffers used by the kernel. The shared memory column -should be ignored; it is obsolete. +system, as well as the buffers used by the kernel. +The shared memory column represents either the MemShared value (2.4 series +kernels) or the Shmem value (2.6 series kernels and later) taken from the +/proc/meminfo file. The value is zero if none of the entries is exported +by the kernel. .SH OPTIONS .TP \fB\-b\fR, \fB\-\-bytes\fR diff --git a/proc/sysinfo.c b/proc/sysinfo.c index 15cdb831..fb98c8a6 100644 --- a/proc/sysinfo.c +++ b/proc/sysinfo.c @@ -629,13 +629,14 @@ void meminfo(void){ {"LowTotal", &kb_low_total}, {"Mapped", &kb_mapped}, // kB version of vmstat nr_mapped {"MemFree", &kb_main_free}, // important - {"MemShared", &kb_main_shared}, // important, but now gone! + {"MemShared", &kb_main_shared}, // obsolete since kernel 2.6! (sharing the variable with Shmem replacement) {"MemTotal", &kb_main_total}, // important {"NFS_Unstable", &kb_nfs_unstable}, {"PageTables", &kb_pagetables}, // kB version of vmstat nr_page_table_pages {"ReverseMaps", &nr_reversemaps}, // same as vmstat nr_page_table_pages {"SReclaimable", &kb_swap_reclaimable}, // "swap reclaimable" (dentry and inode structures) {"SUnreclaim", &kb_swap_unreclaimable}, + {"Shmem", &kb_main_shared}, // kernel 2.6 and later (sharing the output variable with obsolete MemShared) {"Slab", &kb_slab}, // kB version of vmstat nr_slab {"SwapCached", &kb_swap_cached}, {"SwapFree", &kb_swap_free}, // important