java 启动jar包JVM参数

简介: 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


相关文章
|
8天前
|
XML 存储 Java
11:Servlet中初始化参数的获取与应用-Java Web
11:Servlet中初始化参数的获取与应用-Java Web
22 3
|
21小时前
|
Java Go Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(二)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
|
1天前
|
Java 开发工具
JVM参数太多?一网打尽常用JVM参数!
JVM参数太多?一网打尽常用JVM参数!
|
1天前
|
Java 索引
深入浅出JVM(五)之Java中方法调用
深入浅出JVM(五)之Java中方法调用
|
2天前
|
前端开发 Java Linux
宝塔Linux:部署His医疗项目通过jar包的方式
宝塔Linux:部署His医疗项目通过jar包的方式
|
3天前
|
Java 编译器 对象存储
java一分钟之Java入门:认识JDK与JVM
【5月更文挑战第7天】本文介绍了Java编程的基础——JDK和JVM。JDK是包含编译器、运行时环境、类库等的开发工具包,而JVM是Java平台的核心,负责执行字节码并实现跨平台运行。常见问题包括版本不匹配、环境变量配置错误、内存溢出和线程死锁。解决办法包括选择合适JDK版本、正确配置环境变量、调整JVM内存参数和避免线程死锁。通过代码示例展示了JVM内存管理和基本Java程序结构,帮助初学者更好地理解JDK和JVM在Java编程中的作用。
15 0
|
3天前
|
存储 监控 安全
JVM工作原理与实战(十六):运行时数据区-Java虚拟机栈
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了运行时数据区、Java虚拟机栈等内容。
|
4天前
|
存储 缓存 安全
【 Java中String源码分析(JVM视角你不来看看?】
【 Java中String源码分析(JVM视角你不来看看?】
10 0
|
9天前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
43 0