Blob Blame History Raw
diff --git a/free.1 b/free.1
index f7c2313..1e8e7ef 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 15cdb83..8e4aca2 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},  // sharing the output variable with obsolete MemShared (kernel 2.6 and later)
   {"Slab",         &kb_slab},         // kB version of vmstat nr_slab
   {"SwapCached",   &kb_swap_cached},
   {"SwapFree",     &kb_swap_free},    // important