From 0c176ca308f925a9397b6735ba41970d2a613690 Mon Sep 17 00:00:00 2001 From: Cassiano Aquino Date: Thu, 24 Oct 2019 20:29:09 +0100 Subject: [PATCH 1/2] parse /proc/meminfo to gather memory usage --- pwnagotchi/__init__.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/pwnagotchi/__init__.py b/pwnagotchi/__init__.py index c4dea27c..cda5bc3f 100644 --- a/pwnagotchi/__init__.py +++ b/pwnagotchi/__init__.py @@ -58,21 +58,25 @@ def uptime(): with open('/proc/uptime') as fp: return int(fp.read().split('.')[0]) - def mem_usage(): - out = subprocess.getoutput("free -m") - for line in out.split("\n"): - line = line.strip() - if line.startswith("Mem:"): - parts = list(map(int, line.split()[1:])) - tot = parts[0] - used = parts[1] - free = parts[2] - return used / tot + with open('/proc/meminfo') as fp: + for line in fp: + line = line.strip() + if line.startswith("MemTotal:"): + kb_mem_total = int(line.split()[1]) + if line.startswith("MemFree:"): + kb_mem_free = int(line.split()[1]) + if line.startswith("MemAvailable:"): + kb_mem_available = int(line.split()[1]) + if line.startswith("Buffers:"): + kb_main_buffers = int(line.split()[1]) + if line.startswith("Cached:"): + kb_main_cached = int(line.split()[1]) + kb_mem_used = kb_mem_total - kb_mem_free - kb_main_cached - kb_main_buffers + return round(kb_mem_used/kb_mem_total,2) return 0 - def cpu_load(): with open('/proc/stat', 'rt') as fp: for line in fp: From f8f66089680abd04611024ca160b3176675231db Mon Sep 17 00:00:00 2001 From: Cassiano Aquino Date: Thu, 24 Oct 2019 20:35:30 +0100 Subject: [PATCH 2/2] one decimal place --- pwnagotchi/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pwnagotchi/__init__.py b/pwnagotchi/__init__.py index cda5bc3f..3bca6e31 100644 --- a/pwnagotchi/__init__.py +++ b/pwnagotchi/__init__.py @@ -73,7 +73,7 @@ def mem_usage(): if line.startswith("Cached:"): kb_main_cached = int(line.split()[1]) kb_mem_used = kb_mem_total - kb_mem_free - kb_main_cached - kb_main_buffers - return round(kb_mem_used/kb_mem_total,2) + return round(kb_mem_used/kb_mem_total,1) return 0