summaryrefslogtreecommitdiff
path: root/local/bin/sb-memory
blob: 282d6f77c5c3c2a1db3ae748b926d20e21c67699 (plain)
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
#!/bin/sh

_openbsd() {
	TOTAL="$(free | awk '/^Mem:/ {print $2}')"
	MUSED="$(top -b -n 1 | grep -o 'Real.*' | sed 's/Real: //' | sed 's/\/.*//')"
	printf "$MUSED" | egrep "[0-9]{4}" > /dev/null && FUSED="$(printf "$MUSED" | cut -c -2 | sed 's/./.&/2')G" || FUSED=$MUSED
	printf "$FUSED/$TOTAL\n"
}

_freebsd() {
	TOTAL="$(freecolor -om | awk '/^Mem:/ {print $2}')"
	MUSED="$(freecolor -om | awk '/^Mem:/ {print $3}')"
	printf "$MUSED" | egrep "[0-9]{4}" > /dev/null && FUSED="$(printf "$MUSED" | cut -c -2 | sed 's/./.&/2')G" || FUSED=""$MUSED"M"
	printf "$TOTAL" | egrep "[0-9]{4}" > /dev/null && TOTAL="$(printf "$TOTAL" | cut -c -2 | sed 's/./.&/2')G" || FUSED=$TOTAL
	printf "$FUSED/$TOTAL\n"
}

_linux() {
        MUSED="$(free -m | awk '/^Mem:/ {print $3}')"
        echo "$MUSED"
}

case $(uname) in
	Linux) _linux ;;
	OpenBSD) _openbsd ;;
	FreeBSD) _freebsd ;;
esac