From a7d149ae75c8fe9c67707e333ba0d4f0adf9ca91 Mon Sep 17 00:00:00 2001
From: Simone Margaritelli <evilsocket@turing.local>
Date: Thu, 26 Sep 2019 11:23:40 +0200
Subject: [PATCH] added cpuusage and memusage scripts

---
 sdcard/rootfs/usr/bin/cpuusage | 51 ++++++++++++++++++++++++++++++++++
 sdcard/rootfs/usr/bin/memusage |  1 +
 2 files changed, 52 insertions(+)
 create mode 100755 sdcard/rootfs/usr/bin/cpuusage
 create mode 100755 sdcard/rootfs/usr/bin/memusage

diff --git a/sdcard/rootfs/usr/bin/cpuusage b/sdcard/rootfs/usr/bin/cpuusage
new file mode 100755
index 0000000..ea9e63a
--- /dev/null
+++ b/sdcard/rootfs/usr/bin/cpuusage
@@ -0,0 +1,51 @@
+#!/usr/bin/gawk -f
+#-------------------------------------------------------------------------------
+# ~/bin/cpustat :   display cpu utilization
+#
+# usage         :   normally used as a GNU/screen backtick
+#
+# notes         :   1. Works on the assumption that /proc/stat's first line
+#               :      has the total "jiffies" since boot up used by the
+#               :      different types of tasks in the system. See the
+#               :      filesystems/proc.txt document in kernel source tree
+#               :
+#               :   2. Displays a total CPU% (user+system+nice) as well as
+#               :      user CPU% system CPU% and nice CPU%
+#-------------------------------------------------------------------------------
+BEGIN {
+  file = "/proc/stat"
+  while (getline < file) {                        # read first line
+                                                  # extract jiffies:
+      user=$2-user_saved;                         # . user
+      nice=$3-nice_saved;                         # . nice user
+      syst=$4-syst_saved;                         # . system
+      idle=$5-idle_saved;                         # . idle
+      wait=$6-wait_saved;                         # . iowait
+      irqs=$7-irqs_saved;                         # . irq
+      sirq=$8-sirq_saved;                         # . softirq
+
+      cact=user+syst+nice;                        # what counts
+      ctot=user+nice+syst+idle+wait+irqs+sirq;    # total activity
+
+      tcpu=cact/ctot*100;                         # total  % cpu utilization
+      ucpu=user/ctot*100;                         # user   % cpu utilization
+      scpu=syst/ctot*100;                         # system % cpu utilization
+      ncpu=nice/ctot*100;                         # nice   % cpu utilization
+
+      printf "%.1f %%\n",tcpu
+
+
+      user_saved=$2;                              # save the current jiffies
+      nice_saved=$3;                              # values for the next loop
+      syst_saved=$4;
+      idle_saved=$5;
+      wait_saved=$6;
+      irqs_saved=$7;
+      sirq_saved=$8;
+
+      close(file)                                 # re-read file
+
+      system("sleep 3")
+    }
+}
+
diff --git a/sdcard/rootfs/usr/bin/memusage b/sdcard/rootfs/usr/bin/memusage
new file mode 100755
index 0000000..14efdb1
--- /dev/null
+++ b/sdcard/rootfs/usr/bin/memusage
@@ -0,0 +1 @@
+free -m | grep Mem | awk {'printf( "%.1f %", $3 / $2 * 100 )'}