summaryrefslogtreecommitdiff
path: root/app-mem.sh
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2021-06-12 21:29:51 +0300
committerSyndamia <kamen.d.mladenov@protonmail.com>2021-06-12 21:29:51 +0300
commit8aa2ff1f9fd62514de8fad0ecd437bbea97a0f84 (patch)
treece153268bbb69ebdb036dc12066577833cee2879 /app-mem.sh
parent400342d7cf8858100f3d19cfa6bc29b2c67bcd16 (diff)
downloaddotfiles-8aa2ff1f9fd62514de8fad0ecd437bbea97a0f84.tar
dotfiles-8aa2ff1f9fd62514de8fad0ecd437bbea97a0f84.tar.gz
dotfiles-8aa2ff1f9fd62514de8fad0ecd437bbea97a0f84.zip
Added a toggle desktop script for lwa-hot-corners and added an app memory statistic script
Diffstat (limited to 'app-mem.sh')
-rwxr-xr-xapp-mem.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/app-mem.sh b/app-mem.sh
new file mode 100755
index 0000000..96264a5
--- /dev/null
+++ b/app-mem.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Huge thanks to https://askubuntu.com/a/549534/1085672 and https://www.zyxware.com/articles/4446/show-total-memory-usage-by-each-application-in-your-ubuntu-or-any-gnu-linux-system
+
+ps -A --sort -rss -o comm,pmem,rss | awk '
+ NR == 1 { print; next }
+ { a[$1] += $2; b[$1] += $3; }
+ END {
+ for (i in a) {
+ size_in_bytes = b[i] * 1024
+ split("B KB MB GB TB PB", unit)
+ human_readable = 0
+ if (size_in_bytes == 0) {
+ human_readable = 0
+ j = 0
+ }
+ else {
+ for (j = 5; human_readable < 1; j--)
+ human_readable = size_in_bytes / (2^(10*j))
+ }
+ printf "%-20s\t%s\t%.2f%s\t%s\n", i, a[i], human_readable, unit[j+2], b[i]
+ }
+ }
+' | awk 'NR>1' | sort -rnk4 | awk '
+ BEGIN {printf "%-20s\t%%MEM\tSIZE\n", "COMMAND"}
+ {
+ printf "%-20s\t%s\t%s\n", $1, $2, $3
+ }
+'