[Xfce4-commits] <xfce4-systemload-plugin:master> Adjust the memory values to match the free

Florian Rivoal noreply at xfce.org
Thu Oct 14 17:20:05 CEST 2010


Updating branch refs/heads/master
         to 6c48ddb56db7fadbd837417ef753d436e4381d58 (commit)
       from 7bf887b3a7dd106b268cfb90da8a2033f582a769 (commit)

commit 6c48ddb56db7fadbd837417ef753d436e4381d58
Author: Florian Rivoal <frivoal at xfce.org>
Date:   Wed Oct 13 09:39:26 2010 +0900

    Adjust the memory values to match the free
    
    The free command takes kernel buffers into account, and systemload
    didn't. Apply the patch provided in bug 4215 to make them match.

 panel-plugin/memswap.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/panel-plugin/memswap.c b/panel-plugin/memswap.c
index 6c25bbd..1a453b1 100644
--- a/panel-plugin/memswap.c
+++ b/panel-plugin/memswap.c
@@ -47,6 +47,7 @@ static char MemInfoBuf[MEMINFOBUFSIZE];
 
 static unsigned long MTotal = 0;
 static unsigned long MFree = 0;
+static unsigned long MBuffers = 0;
 static unsigned long MCached = 0;
 static unsigned long MUsed = 0;
 static unsigned long STotal = 0;
@@ -57,8 +58,8 @@ gint read_memswap(gulong *mem, gulong *swap, gulong *MT, gulong *MU, gulong *ST,
 {
     int fd;
     size_t n;
-    int o_MTotal, o_MFree, o_MCached, o_STotal, o_SFree;
-    char *b_MTotal, *b_MFree, *b_MCached, *b_STotal, *b_SFree;
+    int o_MTotal, o_MFree, o_MBuffers, o_MCached, o_STotal, o_SFree;
+    char *b_MTotal, *b_MFree, *b_MBuffers, *b_MCached, *b_STotal, *b_SFree;
 
     if ((fd = open("/proc/meminfo", O_RDONLY)) < 0)
     {
@@ -83,6 +84,10 @@ gint read_memswap(gulong *mem, gulong *swap, gulong *MT, gulong *MU, gulong *ST,
     if (b_MFree)
         o_MFree = sscanf(b_MFree + strlen("MemFree"), ": %lu", &MFree);
 
+    b_MBuffers = strstr(MemInfoBuf, "Buffers");
+    if (b_MBuffers)
+        o_MBuffers = sscanf(b_MBuffers + strlen("Buffers"), ": %lu", &MBuffers);
+
     b_MCached = strstr(MemInfoBuf, "Cached");
     if (b_MCached)
         o_MCached = sscanf(b_MCached + strlen("Cached"), ": %lu", &MCached);
@@ -95,7 +100,7 @@ gint read_memswap(gulong *mem, gulong *swap, gulong *MT, gulong *MU, gulong *ST,
     if (b_SFree)
         o_SFree = sscanf(b_SFree + strlen("SwapFree"), ": %lu", &SFree);
 
-    MFree += MCached;
+    MFree += MCached + MBuffers;
     MUsed = MTotal - MFree;
     SUsed = STotal - SFree;
     *mem = MUsed * 100 / MTotal;



More information about the Xfce4-commits mailing list