dotfiles/.local/bin/memmon

22 lines
480 B
Plaintext
Raw Normal View History

2024-06-23 06:44:57 -04:00
#!/bin/sh
2024-07-03 19:59:32 -04:00
convert_to_human_readable() {
if [ "$1" -lt 1024 ]; then
printf "%.1fK\n" "$1"
elif [ "$1" -lt 1048576 ]; then
printf "%.1fM\n" $(($1 / 1024))
else
printf "%.1fG\n" $(($1 / 1048576))
fi
}
while read -r label size _; do
case $label in
MemTotal:) total_mem=$size ;;
MemAvailable:) free_mem=$size ;;
esac
done </proc/meminfo
2024-06-23 06:44:57 -04:00
used_mem=$((total_mem - free_mem))
2024-07-03 19:59:32 -04:00
printf '%s (%s%%)\n' "$(convert_to_human_readable "$used_mem")" $((used_mem * 100 / total_mem))