blob: 96264a59fa8b841b7197fa4aa2e916a3b6123f58 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
}
'
|