JVM参数说明

摘要:
===========================================================-XX开头,这些是JVM的所有实现都支持的最常用的选项。各种配置的键值-XX:MetaspaceSize=128m元空间的初始大小,不断扩容并首次超过这个值时会进行FGC,JVM会动态调整这个值-XX:MaxMetaspaceSize=256m元空间的最大值,超过最大值时会抛异常出来,加载的类越多,元空间使用的内存越多,元空间使用NativeMemory。

===========================================================

-XX开头,这些是JVM 的所有实现都支持的最常用的选项
===========================================================

bool类型的开关选项(+开启、-关闭)

-XX:+UseG1GC

使用G1GC
-XX:+PreserveFramePointer

使用FP寄存器来保存帧指针,而不是作为通用寄存器。解决了stack不完整的问题
-XX:+PrintGC

打印简单GC日志
-XX:+PrintGCDetails

打印详细GC日志
-XX:+PrintGCDateStamps

显示每次GC的日期时间
-XX:+UseGCLogFileRotation

GC日志文件循环使用(比如,5个日志文件循环使用)
-XX:+HeapDumpOnOutOfMemoryError

可以让JVM在出现内存溢出时候Dump出当前的内存转储快照
-XX:-OmitStackTraceInFastThrow
关闭栈异常信息快速抛出,从而记录详细的栈异常以便跟踪。
各种配置的键值
-XX:MetaspaceSize=128m
元空间的初始大小,不断扩容并首次超过这个值时会进行FGC,JVM会动态调整这个值
-XX:MaxMetaspaceSize=256m
元空间的最大值,超过最大值时会抛异常出来,加载的类越多,元空间使用的内存越多,元空间使用 Native Memory。
-XX:MaxGCPauseMillis=200
最大GC暂停时间,用户可以设置这个值,G1GC尽量保证软实时性
-XX:ParallelGCThreads=4
最大并行GC线程数
-XX:ConcGCThreads=4
最大并发GC线程数
-XX:MinHeapFreeRatio=30
指定空闲堆空间的最小百分比,如果实际空闲堆空间小于此值则需要对堆进行扩容 ,Xmx==Xms 的情况下无效
-XX:MaxHeapFreeRatio=50
指定空闲堆空间最大百分比 ,如果实际空闲堆空间大于此值则需要对对堆空间进行缩容,Xmx==Xms 的情况下无效
-XX:CICompilerCount=3
-XX:NumberOfGCLogFiles=5
GC日志文件数,可以设置循环使用
-XX:GCLogFileSize=32M
每个GC日志文件的默认大小
-XX:HeapDumpPath=/opt/logs/appid
堆转储快照文件保存的路径

===========================================================

-X开头,这些选项是特定于 Java HotSpot 虚拟机通用选项
===========================================================
-Xmx6144m
JVM 最大堆内存
-Xms3686m
JVM 初始堆内存
-Xss256k
设置属于每个线程的栈大小
-Xloggc:/opt/logs/appid/gc.log
GC日志文件保存的路径

===========================================================

-D开头,设置系统属性值(属性名称=属性值)
===========================================================
-Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Dport.http.server=8080
-Dport.shutdown.server=8081
-Ddocbase.server=/opt/app
-Dvdir.server=
-Djava.security.egd=file:/dev/./urandom
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=192.168.0.1
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8780
-Dcom.sun.management.jmxremote.rmi.port=8780
-Dcom.sun.management.jmxremote.local.only=false
-Djdk.tls.ephemeralDHKeySize=2048
-Dignore.endorsed.dirs=
-Dcatalina.base=/opt/tomcat
-Dcatalina.home=/opt/tomcat
-Djava.io.tmpdir=/opt/tomcat/temp
-Djava.util.concurrent.ForkJoinPool.common.parallelism=4

免责声明:文章转载自《JVM参数说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇flask_apscheduler 定时任务框架74款安卓和IOS app源码地址下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java 堆内存 新生代 (转)

Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括...

java虚拟机启动参数分类详解

java启动参数共分为三类;其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;其三是非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用; 标准参数(-) verbose ...

JVM调优总结 Xms Xmx Xmn Xss

转http://unixboy.iteye.com/blog/174173 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物...

启动Eclipse时,弹出JVM terminated. Exit code=127..错误的解决方案

在Linux环境下,启动Eclipse,会弹出并报如下的错误,且不能启动该工具 JVM terminated. Exit code=127/eclipse/jdk1.7.0_71/bin/java-Dosgi.requiredJavaVersion=1.6-XX:MaxPermSize=256m-Xms40m-Xmx512m-jar /root/sourc...

表示不同文件类型的魔术数字

这里所说的表示不同文件类型的魔术数字,指定是文件的最开头的几个用于唯一区别其它文件类型的字节,有了这些魔术数字,我们就可以很方便的区别不同的文件,这也使得编程变得更加容易,因为我减少了我们用于区别一个文件的文件类型所要花费的时间。 比如,一个JPEG文件,它开头的一些字节可能是类似这样的”ffd8 ffe0 0010 4a46 4946 0001 010...

打印jvm参数的几种方式

jps -v jps命令应该是jdk提供的java工具中被使用最多的了,jps -v可以打印出传递给jvm的参数 ``-XX:+PrintVMOptions`参数 jvm添加该参数,可以在程序运行时,打印虚拟机接受到的命令行显示参数(打印出我们显示指定的) -XX:+PrintCommandLineFlags 可以打印出传递给虚拟机的显示和隐式参数,隐式参...