#!/bin/sh -e # # mem_swap: show the current swap available and used # # Copyright (C) 2010 Canonical Ltd. # Copyright (C) 2011 Dustin Kirkland # # Authors: Dustin Kirkland # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . __swap_detail() { cat /proc/meminfo } __swap() { local stotal="" sfree="" name val unit mem f; while read name val unit; do if [ "$name" = "SwapTotal:" ]; then stotal="$val" elif [ "$name" = "SwapFree:" ]; then sfree="$val" else continue fi [ -n "$stotal" -a -n "$sfree" ] && break; done < /proc/meminfo [ "${stotal:-0}" = "0" ] && return 0 mem=${stotal} f=$(((100*($stotal-$sfree))/$stotal)) if [ $mem -ge 1048576 ]; then fpdiv "${mem}" 1048576 1 mem=${_RET} unit="GB" elif [ $mem -ge 1024 ]; then fpdiv "${mem}" 1024 0 mem=${_RET} unit="MB" else mem="$mem" unit="KB" fi color b G W; printf "s%s" "$mem"; color -; color G W; printf "%s," "$unit"; color -; color b G W; printf "%s" "$f"; color -; color G W; printf "%s" "$PCT"; color -- } # vi: syntax=sh ts=4 noexpandtab