SpringBoot.jar包 启动脚本 startup.sh 关闭进程脚本文件 shutdown.sh

1)java -jar 运行时是前台启动,并非后台运行

这个解决的方法是,使用nohup 命令

nohup 是 no hang up 的缩写,就是不挂断的意思

nohup命令:如果你正在运行一个进程,并且关闭当前终端窗口还能在后台运行。

然后我们需要设置对应的日志输出目录:


# 设置输出目录nohup java -jar xxx.jar > catalina.out  2>&1  使用tail命令打印日志tail -f ./catalina.out

2)因为使用java -jar的时候,不指定java内存大小的话,会导致启动非常缓慢,所以需要设置堆栈大小

java -jar -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m 

-Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8
 -XX:+UseConcMarkSweepGC-XX:MetaspaceSize:最小元空间-XX:MaxMetaspaceSize:最大元空间-Xms:最小堆内存-Xmx:最大堆内存-Xmn:新生代大小-Xss:栈大小-XX:SurvivorRatio:新生代中Eden区与两个Survivor区的比值。
 注意Survivor区有两个。
 如:为3,表示Eden:Survivor=3:2,一个Survivor区占整个新生代的1/5-XX:+UseConcMarkSweepGC:设置并发收集器
nohup java -Xms256m -Xmx512m -jar mogu_sms-0.0.1-SNAPSHOT.jar  > catalina.out  2>&1 &

由于经常启动这个命令容易忘记,我们可以写在脚本文件,每次执行脚本文件即可:

首先是启动脚本 startup.sh

#!/bin/bash     nohup java -Xms256m -Xmx512m -jar youApplication.jar  > catalina.out  2>&1 &tail -f ./catalina.out

启动脚本,并且打印脚本日志。

对应的有关闭进程脚本文件 shutdown.sh:

#!/bin/bashPID=$(ps -ef | grep youApplication.jar  | grep -v grep | awk '{ print $2 }')if [ -z "$PID" ]then    echo Application is already stoppedelse    echo kill $PID    kill $PIDfi

Tips:

堆设置
-Xms:初始堆大小
-Xmx:最大堆大小

-Xmn2g: 设置年轻代大小为2G。整个堆大小=年轻代大小 + 年老代大小 +
持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对
系统性能影响较大, Sun官方推荐配置为整个堆的3/8。

-Xss128k: 设置每个线程的栈大小。 JDK5.0以后每个线程堆栈大小为1M,以前每个线程
堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值
能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验
值在3000~5000左右。

-XX:NewSize=n:设置年轻代大小
-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1: 3
,年轻代占整个年轻代年老代和的1/4
-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两
个。如: 3,表示Eden: Survivor=3: 2,一个Survivor区占整个年轻代的1/5
-XX:MaxPermSize=n:设置持久代大小

收集器设置
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParallelGC:设置并行收集器
-XX:+UseParalledlOldGC:设置并行年老代收集器
-XX:+UseConcMarkSweepGC:设置并发收集器

垃圾回收统计信息
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename

并行收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。 并行收集线程数。
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

并发收集器设置
-XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数
。并行收集线程数。


-Xmx设置JVM堆内存大小,这并不是所有JVM内存
 


用于个人学习记录

转载自

SpringBoot打包的jar包启动jar包命令_初夏0811的博客-CSDN博客_springbootjar包启动命令

java jvm常见配置汇总(Xmx Xms Xss Xmn)_艾伦蓝的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值