Linux
linux 腳本 - 如果超過 80% Mem High,則查找 java 程序並重新啟動它
我想在 crontab 中放入一個 shell 腳本來監視 java 程序,如果它的記憶體超過 80%,那麼我想重新啟動它。有人可以幫忙嗎?謝謝!!埃拉德。
完美的監控案例。 http://mmonit.com/
範例配置
`check process foo with pidfile “/var/run/foo”
start program = “/bin/foo -c foo.conf”
stop program = “/bin/kill -KILL
貓 /var/run/foo.pid
”if totalmem is greater than X.0 MB for 5 cycles then restart`
你想要監控而不是腳本的原因是它可以給你發電子郵件、提供日誌,老實說還有很多,但我會把研究留給你。
假設 Java 程序有一個 initscript 和一個 PID 文件,並且你想在它使用超過 1G 的 RSS 記憶體時重新啟動它:
#!/bin/sh set -e RAM=`ps -o rss --no-headers -p $(cat /var/run/myservice.pid) || true` if [ "$RAM" ]; then # It's not running service myservice start elif [ "$RAM" -gt 1048576 ]; then # It's using too much memory service myservice restart fi