博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell 管理SpringBoot 生产环境服务 (配置JVM)
阅读量:6611 次
发布时间:2019-06-24

本文共 2277 字,大约阅读时间需要 7 分钟。

hot3.png

java命令的模版:java [-options] -jar jarfile [args...]先贴一下我的简单的启动命令:java -Xms128m -Xmx256m -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8081,suspend=n -jar /data/app/test.jar --spring.profiles.active=dev &其中:-Xms128m 设置的是JVM堆最小内存为128m-Xmx256m 设置的是JVM堆最大内存为256m这里有个问题是-Xmx指定的内存不包括jvm运行中使用的本地内存,所以如果有NIO等涉及到本地内存的情况时,该java进程占用的总内存会超过-Xmx设定的数值-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8081,suspend=n设置debug模式,允许tomcat远程连接服务器调试,调试端口可指定,此处为8081/data/app/test.jar 指定需要执行的jar包的路径--spring.profiles.active=dev 设定SpringBoot运行环境为dev环境& 后台模式执行

 

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

#!/bin/bashTag="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 $TagRETVAL="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      ;;esacexit $RETVAL

JVM 相关配置说明:

java.awt.headless 模式 

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

JVM实用参数 CMS收集器 

JVM参数设置、分析 

 

转载于:https://my.oschina.net/u/2552286/blog/1811087

你可能感兴趣的文章
配置Tomcat数据源
查看>>
黑鹰坠落 感
查看>>
CopyOnWriteArrayList
查看>>
我的友情链接
查看>>
JAVA的StringBuffer类
查看>>
Douyu
查看>>
Citrix Receiver For Android V2.1发布
查看>>
scrapy深入学习----(4)
查看>>
plsql使用引号,输出空行
查看>>
Mesos统一容器管理技术简介
查看>>
我的友情链接
查看>>
Docker容器互联的几个基本方法
查看>>
WebService - Client调用(Axis2-Document)
查看>>
老男孩教育每日一题-day57-脑洞神探之tmp目录的下的备份文件突然没了,谁来背锅?...
查看>>
Docker下载Redis镜像并运行容器
查看>>
kvm cgroup的使用
查看>>
分享申请IDP账号的过程,包含duns申请的分享
查看>>
参加PMP考试须知
查看>>
java学习
查看>>
Android studio教程与问题汇总
查看>>