您的位置:首页 > 运维架构 > Shell

shell 管理SpringBoot 生产环境服务 (配置JVM)

2017-12-16 17:04 796 查看
http://blog.csdn.net/jiangzeyin_/article/details/74671334

http://blog.csdn.net/jiangzeyin_/article/details/74679444

续上两篇博客,这里对命令再次调整

#!/bin/bash
Tag="Application"
MainClass="com.test.Application"
Lib="/testboot/test/lib/"
Log="/testboot/test/run.log"
JVM="-server -Xms128m -Xmx128m -XX:PermSize=32M -XX:MaxNewSize=64m -XX:MaxPermSize=64m -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled"
echo $Tag
RETVAL="0"

# See how we were called.
function start() {
echo  $Log
if [ ! -f $Log ]; then
touch $Log
fi
nohup java $JVM -Dappliction=$Tag -Djava.ext.dirs=$Lib":${JAVA_HOME}/jre/lib/ext" $MainClass > $Log 2>&1 &
tailf $Log
}

function stop() {
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo -n "boot ( pid $pid) is running"
echo
echo -n $"Shutting down boot: "
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo "kill boot process"
kill -9 "$pid"
fi
else
echo "boot is stopped"
fi

status
}

function status()
{
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
#echo "$pid"
if [ "$pid" != "" ]; then
echo "boot is running,pid is $pid"
else
echo "boot is stopped"
fi
}

function usage()
{
echo "Usage: $0 {start|stop|restart|status}"
RETVAL="2"
}

# See how we were called.
RETVAL="0"
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
RETVAL="3"
;;
status)
status
;;
*)
usage
;;
esac

exit $RETVAL


JVM 相关配置说明:

java.awt.headless 模式

http://blog.csdn.net/wodeyuer125/article/details/50502914

jvm的内存分布,参数配置 和 GC处理机制

https://www.cnblogs.com/tonydoen001/p/5276589.html

JVM实用参数 CMS收集器

http://ifeve.com/useful-jvm-flags-part-7-cms-collector/

JVM参数设置、分析

https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: