ctdb-scripts: Use MemAvailable if it is in /proc/meminfo
authorMartin Schwenke <martin@meltin.net>
Fri, 24 Jul 2015 09:57:42 +0000 (19:57 +1000)
committerAmitay Isaacs <amitay@samba.org>
Sat, 29 Aug 2015 15:06:25 +0000 (17:06 +0200)
Otherwise calculate, as before.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/config/events.d/05.system

index a089b18597fa66fb7496dd29fb6fa22608dea662..4e5551e786ad7edb5fea91104b38caf0ca8a2f2a 100644 (file)
@@ -72,6 +72,7 @@ monitor_memory_usage ()
 
     _meminfo=$(get_proc "meminfo")
     set -- $(echo "$_meminfo" | awk '
+$1 == "MemAvailable:" { memavail += $2 / 1024 }
 $1 == "MemFree:"      { memfree  += $2 / 1024 }
 $1 == "Cached:"       { memfree  += $2 / 1024 }
 $1 == "Buffers:"      { memfree  += $2 / 1024 }
@@ -79,6 +80,7 @@ $1 == "MemTotal:"     { memtotal  = $2 / 1024 }
 $1 == "SwapFree:"     { swapfree  = $2 / 1024 }
 $1 == "SwapTotal:"    { swaptotal = $2 / 1024 }
 END {
+    if (memavail != 0) { memfree = memavail ; }
     print int(memfree), int(memtotal), int(swapfree) , int(swaptotal)
 }')
     _mem_free="$1"