summaryrefslogtreecommitdiff
path: root/bar
diff options
context:
space:
mode:
Diffstat (limited to 'bar')
-rwxr-xr-xbar/memuse36
1 files changed, 33 insertions, 3 deletions
diff --git a/bar/memuse b/bar/memuse
index c5399b8..eb9ffde 100755
--- a/bar/memuse
+++ b/bar/memuse
@@ -1,3 +1,33 @@
-#!/bin/sh
-awk '{ if(!total){ total = $2 } else if(!free){ free = $2 } else{ exit } } END{ print int(((total-free)*100)/total)"%" }' /proc/meminfo
-#free -b | awk '/^Mem/ { print int($3*100/$2)"%" }'
+#!/usr/bin/awk -f
+function getvar(label) {
+ while (getline < meminfo && $1 != label":");
+ return $2
+}
+
+BEGIN {
+ meminfo="/proc/meminfo"
+
+ # Make sure these are in order of the output of /proc/meminfo
+ memtotal = getvar("MemTotal")
+ memfree = getvar("MemFree")
+ buffers = getvar("Buffers")
+ cached = getvar("Cached")
+ shmem = getvar("Shmem")
+ sreclaimable = getvar("SReclaimable")
+
+ # Htop calculations
+ totalused = memtotal - memfree
+ totalcached = cached + sreclaimable - shmem
+ noncachenonbuf = totalused - (buffers + totalcached)
+
+ # Print % of memory used
+ print int((noncachenonbuf * 100) / memtotal)"%"
+}
+
+#BEGIN {
+# cmd="free -b"
+# cmd | getline
+# cmd | getline
+# print int($3*100/$2)"%"
+#}
+##awk '{ if(!total){ total = $2 } else if(!free){ free = $2 } else{ exit } } END{ print int(((total-free)*100)/total)"%" }' /proc/meminfo