java 启动jar包JVM参数

/opt/java/jdk1.8.0_131/bin/java 

#运行模式
-server 														

#堆区内存可被分配的最大上限 
-Xmx512m  				

#堆区内存初始内存分配的大小 
-Xms512m  														

#新生代(Eden + 2*S)与老年代(不包括永久区)的比值
-XX:NewRatio=4 								

#Eden区和Survivor区的比值
-XX:SurvivorRatio=8 											

#持久代空间大小
-XX:PermSize=48m

#持久代空间大小
-XX:MaxPermSize=64m 											

#每个线程的堆栈大小
-Xss256k		

#JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K.更具应用的线程所需内存大小进行 调整.在相同物理内存下,减小这个值能生成更多的线程.但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右
一般小的应用, 如果栈不是很深, 应该是128k够用的 大的应用建议使用256k。这个选项对性能影响比较大,需要严格的测试。(校长)
和threadstacksize选项解释很类似,官方文档似乎没有解释,在论坛中有这样一句话:"”
-Xss is translated in a VM flag named ThreadStackSize”
一般设置这个值就可以了
-XX:ThreadStackSize=128k 										

-XX:-ReduceInitialCardMarks 

#垃圾回收统计信息
-XX:+PrintGCDetails  											

#垃圾回收统计信息
-XX:+PrintGCTimeStamps 		

#垃圾回收统计信息
-XX:+PrintHeapAtGC 

-Xloggc:/home/workspace/jvm-log/open-api-global-quartz-GC.log 

#关闭System.gc() 这个参数需要严格的测试
-XX:+DisableExplicitGC											

#使用CMS内存收集
-XX:+UseConcMarkSweepGC 

-XX:+CMSClassUnloadingEnabled 

#CMS并发过程运行时的线程数
-XX:ParallelCMSThreads=4 

#CMS降低标记停顿
-XX:+CMSParallelRemarkEnabled 									

#在FULL GC的时候, 对年老代的压缩 CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯。
可能会影响性能,但是可以消除碎片
-XX:+UseCMSCompactAtFullCollection 								

#CMS作为垃圾回收使用50%后开始CMS收集
-XX:CMSInitiatingOccupancyFraction=50 							

#CMS并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理.
-XX:CMSFullGCsBeforeCompaction=2 								

#这个可以压缩指针,起到节约内存占用的新参数
-XX:+UseCompressedOops 

#当堆内存空间溢出时输出堆的内存快照
-XX:+HeapDumpOnOutOfMemoryError 

-XX:HeapDumpPath=/home/workspace/jvm_dump/open-api-global-quartz-heapDump.hprof 

-jar open-api-global-quartz-exec.jar 

--eureka.server=http://localhost:8761/eureka 
--environment=Staging --dataCenter=Cloud
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java启动JAR包的方式有两种:命令行启动和双击启动。 命令行启动的优点是灵活性高,可以指定JVM参数启动类、类路径等,适用于需要定制化的场景。缺点是需要手动输入命令,不够方便快捷。 双击启动的优点是操作简单,只需要双击JAR包即可启动,适用于普通用户使用的场景。缺点是无法指定JVM参数,只能使用默认设置,对于需要定制化的场景可能不够灵活。 总的来说,Java启动JAR包的方式应根据实际需求选择,如果需要定制化,建议使用命令行启动;如果是普通用户使用,建议使用双击启动。 ### 回答2: Java启动jar包有以下几种方式,包括命令行启动、双击启动和使用脚本启动。 首先说命令行启动的优点。通过命令行启动jar包可以更加灵活地控制启动参数和选项。我们可以指定java虚拟机的配置参数,如堆内存大小、GC算法等,从而更好地适应我们的应用需求。另外,命令行启动方便于调试。我们可以通过在启动命令中加上调试参数,如设置断点、查看堆栈信息等,帮助我们定位问题并进行调试。 接下来说命令行启动的缺点。命令行启动需要我们手动输入一串启动命令,对于一些不熟悉命令行操作的用户来说,可能会存在一定的学习成本。另外,过于复杂的启动参数配置也会增加用户的操作难度和出错的可能性。 然后说双击启动的优点。双击启动是一种简单便捷的启动方式,对于没有命令行操作经验的用户来说更加友好。用户只需双击jar包,系统会自动调用Java虚拟机运行jar包,省去了手动输入命令的步骤。 最后说双击启动的缺点。双击启动方式缺少灵活性,无法像命令行一样对启动参数进行配置。此外,双击启动方式在出错时也无法提供详细的错误信息,给问题定位和调试带来一定的困难。 除了上述两种方式外,还可以通过编写启动脚本来启动jar包。这种方式可以灵活定制启动方式,方便应用的部署和管理。但是使用脚本启动需要一定的脚本编写和维护的知识。 综上所述,Java启动jar包的方式各有优缺点,开发者需要根据需要选择适合自己的方式。如果对启动参数有特殊要求或需要进行调试,可以选择命令行启动;如果对操作简单性有要求,可以选择双击启动;如果需要更加灵活的控制和管理,可以选择脚本启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值