下面的shell指令碼可以實時的監控系統中各個程序的CPU和記憶體的佔用情況,用於限制程序CPU佔用率更加合理。#!/bin/shPIDS=`top -bn 1 | grep "^ *[1-9]" | awk ’{ if($9 > 50 || $10 > 25 && id -u $2 > 500) print $1}’`for PID in $PIDSdo renice +10 $PID echo "renice +10 $PID"done能夠將這個指令碼放到cron中執行,比如每分鐘檢查一次,只需以root身份新增crontab項:#crontab-e*****limit.sh 以後每個一分鐘就會檢查一次,調整佔用50%以上CPU或25%記憶體的程序的nice值,從而使這樣的程序優先順序變低,被排程的機會減少,同時會向root發郵件提示該程序被調整過。 但是,限制記憶體使用最好還是用PAM,RedHat能夠在/etc/security/limits.conf中配置。
下面的shell指令碼可以實時的監控系統中各個程序的CPU和記憶體的佔用情況,用於限制程序CPU佔用率更加合理。#!/bin/shPIDS=`top -bn 1 | grep "^ *[1-9]" | awk ’{ if($9 > 50 || $10 > 25 && id -u $2 > 500) print $1}’`for PID in $PIDSdo renice +10 $PID echo "renice +10 $PID"done能夠將這個指令碼放到cron中執行,比如每分鐘檢查一次,只需以root身份新增crontab項:#crontab-e*****limit.sh 以後每個一分鐘就會檢查一次,調整佔用50%以上CPU或25%記憶體的程序的nice值,從而使這樣的程序優先順序變低,被排程的機會減少,同時會向root發郵件提示該程序被調整過。 但是,限制記憶體使用最好還是用PAM,RedHat能夠在/etc/security/limits.conf中配置。