diff --git a/install_shell/crontab b/install_shell/crontab index ce5ba50..62acd28 100644 --- a/install_shell/crontab +++ b/install_shell/crontab @@ -11,4 +11,4 @@ MAILTO="" 0 20 * * * d5000 /usr/sbin/xrm.sh #Every Sunday morning, 5:0 0 * * * * sysadmin /usr/sbin/update_time.sh -*/9 * * * * sysadmin /usr/sbin/get_max_mem_process.sh +*/1 * * * * sysadmin /usr/sbin/get_max_mem_process.sh diff --git a/install_shell/get_max_mem_process.sh b/install_shell/get_max_mem_process.sh index 588a44c..8b5012a 100755 --- a/install_shell/get_max_mem_process.sh +++ b/install_shell/get_max_mem_process.sh @@ -1,11 +1,18 @@ #!/bin/bash -swap_percentage=$( free | grep '^Swap:' | awk '{ if ($2 != 0) {print ($3/$2*100)} else {print 0} }') -thread_num=$( top -b -H -n 1|grep "^Tasks:"|awk '{print $2}') - -# swap >= 10% or thread_num >= 1800 -if [ $(echo ${swap_percentage} '>' 10 |bc ) -eq 1 -o ${thread_num} -ge 1800 ];then +SWAP_USED=$(free |grep -i swap|awk '{print $3}') +SWAP_TOTAL=$(free |grep -i swap|awk '{print $2}') +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 70 ];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 - top -H -b -n 1 -d 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