diff --git a/pwnagotchi/__init__.py b/pwnagotchi/__init__.py index c4dea27..cda5bc3 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: