#!/bin/bash SWAP_USED=$(free |grep -i swap|awk '{print $3}') SWAP_TOTAL=$(free |grep -i swap|awk '{print $2}') if [ ${SWAP_TOTAL} -eq 0 ];then exit 0 fi printf -v SWAP_USED_PERCENTAGE "%0.3f\n" $(echo "scale=5;$SWAP_USED/$SWAP_TOTAL * 100"|bc) #echo ${SWAP_USED_PERCENTAGE} SWAP_USED_PERCENTAGE_INT=$(echo ${SWAP_USED_PERCENTAGE}|awk -F. '{print $1}') #echo ${SWAP_USED_PERCENTAGE_INT} if [ ${SWAP_USED_PERCENTAGE_INT} -ge 30 ];then date>>/var/log/messages echo "rss(KB) pmem%M pcpu%C vsize(SWAP+RES,KB) process ">>/var/log/messages ps -eo rss,pmem,pcpu,vsize,args | sort -k 1 -r -n|head -10>>/var/log/messages echo "uptime">>/var/log/messages uptime>>/var/log/messages echo "df -h">>/var/log/messages df -h>>/var/log/messages echo "free -m">>/var/log/messages free -m>>/var/log/messages fi