因tomcat經常記憶體占用比較大造成當機,所以寫了個指令碼當tomcat使用的記憶體到一定比率時就自動重啟它;設定為10分鐘執行一次。
[code]
#!/bin/sh
#允許最大占用記憶體的百分比
ram_max=45
#服務程式所守候的埠
port=8180
#通過守候埠獲取服務程式的pid
pid_ram=` netstat -nlp |grep $port|awk ''|awk -f / '' `
#通過服務程式的pid獲取當前占用的記憶體百分比
ram=` ps -aux |grep -m1 $pid_ram|awk ''|awk -f . '' `
#除錯程式用
#echo $port
#echo $pid_ram
#echo $ram
#echo $ram_max
#如果所占用的記憶體使用率大於所定義的值,則重啟該服務程式
if expr $ram />= $ram_max > /dev/null
then
#所要執行的動作
# echo 2
echo
"8180 tomcat rebooted" >>/usr/local/tomcat-5.5.9/logs/autoreboot.log
echo `date` >>/usr/local/tomcat-5.5.9/logs/autoreboot.log
/usr/local/tomcat-5.5.9/bin/shutdown.sh
kill -9
$pid_ram
/usr/local/tomcat-5.5.9/bin/startup.sh
#除錯程式用
#else
# echo 1
fi[/code]
出處: linux 根據記憶體使用量自動重啟服務的指令碼
因tomcat經常記憶體占用比較大造成當機,所以寫了個指令碼當tomcat使用的記憶體到一定比率時就自動重啟它 設定為10分鐘執行一次。code bin sh 允許最大占用記憶體的百分比 ram max 45 服務程式所守候的埠 port 8180 通過守候埠獲取服務程式的pid pid ram n...
linux 記憶體使用量計算
linux 優先使用物理記憶體,當物理記憶體還有空閒時,linux是不會施放記憶體的,即時占用記憶體的程式已經被關閉了 這部分記憶體就用來做快取了 也就是說,即時你有2g的記憶體,用過一段時間後,也會被佔滿。這樣做的好處是,啟動那些剛開啟過的程式 或是讀取剛訪問過得資料會比較快,對於伺服器很有好處。...
SQL Server 記憶體使用量下降問題
sql server這個程式是非喜歡記憶體這東西的。所以它的記憶體使用量下降,一定是被別人給搶去了。這件事的後果就是sql server 變的 非常慢。怎麼樣才可以讓這件事不太容易發生呢?方法 1 lock page in memory 方法 用這個方法,就是給sql server 一種死不要臉佔記...