jvm——参数解释
https://www.oracle.com/technetwork/java/tuning-139912.html#section4.2.5 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html -Xms4g
jvm 初始堆内存大小
-Xmx4g
jvm 最大堆内存大小
-Xmn2g
为新生代分配内存大小
-XX:SurvivorRatio=10
eden:survivor=10:2
**-XX:MetaspaceSize=128m**
设置分配的类元数据空间的大小,该空间将在第一次超出时触发垃圾回收。根据使用的元数据量,增加或减少垃圾收集的阈值。默认大小取决于平台。
**-XX:MaxMetaspaceSize=500m**
设置可以为类元数据分配的最大本机内存量。默认情况下,大小不受限制。应用程序的元数据量取决于应用程序本身,其他正在运行的应用程序以及系统上可用的内存量。
-XX:MaxDirectMemorySize=512m
设置新I / O(java.nio包)直接缓冲区分配的最大总大小(以字节为单位)。附加字母k或K表示千字节,m或M指示兆字节,g或G指示千兆字节。
默认情况下,大小设置为0,这意味着JVM会自动选择NIO直接缓冲区分配的大小。
-XX:ReservedCodeCacheSize=240m
设置JIT编译代码的最大代码缓存大小(以字节为单位)。附加字母k或K表示千字节,m或M指示兆字节,g或G指示千兆字节。
默认的最大代码缓存大小为240 MB; 如果使用该选项禁用分层编译-XX:-TieredCompilation,则默认大小为48 MB。
此选项的限制为2 GB; 否则,会产生错误。最大代码缓存大小不应小于初始代码缓存大小; 看到选项-XX:InitialCodeCacheSize。此选项相当于-Xmaxjitcodesize。
-XX:+UseConcMarkSweepGC
允许为旧一代使用CMS垃圾收集器。Oracle建议您在spam(-XX:+UseParallelGC)垃圾收集器无法满足应用程序延迟要求时使用CMS垃圾收集器。
G1垃圾收集器(-XX:+UseG1GC)是另一种选择。
默认情况下,禁用此选项,并根据计算机的配置和JVM的类型自动选择收集器。
启用此选项后,将-XX:+UseParNewGC自动设置该选项,您不应禁用该选项,因为JDK 8中已弃用以下选项组合:-XX:+UseConcMarkSweepGC -XX:-UseParNewGC。
**-XX:+UseCMSCompactAtFullCollection**
当cms顶不住要进行fullgc时,开启内存碎片的合并整理过程,内存整理的过程是无法并发的,会导致停顿,这岂不是每一次cms都会有一次内存碎片整理?
**-XX:CMSMaxAbortablePrecleanTime=5000**
这个在官网文档没搜到?!
指定cms-concurrent-abortable-preclean阶段执行的时间
XX:+CMSClassUnloadingEnabled
使用并发标记清除(CMS)垃圾收集器时启用类卸载。默认情况下启用此选项。要禁用CMS垃圾收集器的类卸载,请指定-XX:-CMSClassUnloadingEnabled。
-XX:CMSInitiatingOccupancyFraction=80
设置启动CMS收集周期的旧代占用率(0到100)的百分比。默认值设置为-1。任何负值(包括默认值)意味着-XX:CMSTriggerRatio用于定义初始占用率的值。
-XX:+UseCMSInitiatingOccupancyOnly
允许使用占用值作为启动CMS收集器的唯一标准。默认情况下,此选项已禁用,可能会使用其他条件。
-XX:+ParallelRefProcEnabled
启用并行参考处理。默认情况下,禁用此选项。
-XX:+DisableExplicitGC
启用禁用处理呼叫的选项System.gc()。默认情况下禁用此选项,这意味着System.gc()将处理调用。如果System.gc()禁用了对调用的处理,则JVM仍会在必要时执行GC。
-XX:+ExplicitGCInvokesConcurrent
允许使用System.gc()请求调用并发GC 。默认情况下禁用此选项,并且只能与该-XX:+UseConcMarkSweepGC选项一起启用。
-Dsun.rmi.dgc.server.gcInterval=2592000000
-Dsun.rmi.dgc.client.gcInterval=2592000000
-verbose:gc
显示有关每个垃圾回收(GC)事件的信息。
-Xloggc:${APP_HOME}/logs/gc.log
设置应将重定向的GC事件信息重定向到的文件以进行日志记录。
写入此文件的信息类似于-verbose:gc自每个记录事件之前的第一个GC事件以来经过的时间的输出。
如果两者都使用相同的命令,则该-Xloggc选项将覆盖。-verbose:gcjava
-XX:+PrintGCDetails
允许在每个GC上打印详细消息。默认情况下,禁用此选项。
-XX:+PrintGCDateStamps
允许在每个GC上打印日期戳。默认情况下,禁用此选项。-XX:+PrintTenuringDistribution
-XX:+HeapDumpOnOutOfMemoryError
允许在每个GC上打印详细消息。默认情况下,禁用此选项
-XX:HeapDumpPath=${APP_HOME}/logs/java_pid_%p.hprof
设置-XX:+HeapDumpOnOutOfMemoryError选项设置时,设置用于写入堆分析器(HPROF)提供的堆转储的路径和文件名。
默认情况下,该文件在当前工作目录中创建,并且名为java_pidpid.hprof,其中pid是导致错误的进程的标识符。
以下示例显示如何显式设置默认文件(%p表示当前进程标识符):
-XX:HeapDumpPath = / java_pid%p.hprof
以下示例显示如何将堆转储文件设置为/var/log/java/java_heapdump.hprof:
-XX:HeapDumpPath = /无功/日志/ JAVA / java_heapdump.hprof
-XX:ErrorFile=${APP_HOME}/logs/hs_err_%p.log
指定发生不可恢复的错误时写入错误数据的路径和文件名。默认情况下,此文件在当前工作目录中创建,并命名为hs_err_pidpid.log,其中pid是导致错误的进程的标识符。以下示例显示如何设置默认日志文件(请注意,进程的标识符指定为%p): -XX:错误文件= / hs_err_pid%p.log
以下示例显示如何将错误日志设置为/var/log/java/java_error.log: -XX:错误文件= /无功/日志/ JAVA / java_error.log
如果无法在指定目录中创建文件(由于空间不足,权限问题或其他问题),则会在操作系统的临时目录中创建该文件。临时目录是/tmp。
-XX:+PrintCommandLineFlags
允许打印出现在命令行上的符合人体工程学选择的JVM标志。
了解JVM设置的人体工程学值(例如堆空间大小和选定的垃圾收集器)可能很有用。默认情况下,禁用此选项并且不打印标志。
-XX:+UseCompressedOops
禁用压缩指针的使用。默认情况下,启用此选项,并在Java堆大小小于32 GB时使用压缩指针。
启用此选项时,对象引用表示为32位偏移而不是64位指针,这通常会在运行Java堆大小小于32 GB的应用程序时提高性能。此选项仅适用于64位JVM。
当Java堆大小大于32GB时,也可以使用压缩指针。请参阅-XX:ObjectAlignmentInBytes选项。
-XX:-UseBiasedLocking
禁用使用偏置锁定。一些具有大量无竞争同步的应用程序可以在启用此标志的情况下获得显着的加速,而具有某些锁定模式的应用程序可能会看到减速。
有关偏置锁定技术的更多信息,请参阅Java调优白皮书中的示例http://www.oracle.com/technetwork/java/tuning-139912.html#section4.2.5
默认情况下,启用此选项。
-XX:-OmitStackTraceInFastThrow
-XX:AutoBoxCacheMax=20000
-XX:+AlwaysPreTouch
-Djava.awt.headless=true
-XX:-UseCounterDecay
-XX:-TieredCompilation
禁用分层编译。默认情况下,启用此选项。只有Java HotSpot Server VM支持此选项。
-Djava.security=file:/dev/urandom
-Dsun.net.client.defaultConnectTimeout=10000
-Dsun.net.client.defaultReadTimeout=30000
-Dproject.name=${PROJECT_NAME}
-Dapp.id=${PROJECT_NAME}
-Denv=prod
-Xss:线程堆栈的大小
设置线程堆栈大小(以字节为单位)。附加字母k或K表示KB,m或M表示MB,g或G表示GB。默认值取决于平台:
Linux / ARM(32位):320 KB
Linux / i386(32位):320 KB
Linux / x64(64位):1024 KB
OS X(64位):1024 KB
Oracle Solaris / i386(32位):320 KB
Oracle Solaris / x64(64位):1024 KB
以下示例以不同的单位将线程堆栈大小设置为1024 KB:
-Xss1m
-Xss1024k
-Xss1048576
此选项相当于-XX:ThreadStackSize。
-Xverify:none
禁止字解码验证过程(编译代码人为可靠时,禁掉字解码验证过程)
-Xint
禁止编译器运作(强烈不建议使用)
-Xcomp
强制虚拟机运行于编译模式,优先采用编译模式,但是解释器仍然要在编译器无法进行的情况下介入执行过程
-XX:CompileThreashod
设定方法调用计数器阈值,超过该阈值时该方法被判定为热点代码
-XX:DoEscapeAnalysis
开启逃逸分析
jvm——参数解释的更多相关文章
- Java 6 JVM参数选项大全(中文版)
原文来自: http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm 本文是基于最新的SUN官方文档Java SE 6 Hotsp ...
- JVM参数调优
JVM参数调优 JVM参数调优是一个很头痛的问题,可能和应用有关系,下面是本人一些调优的实践经验,希望对读者能有帮助,环境LinuxAS4,resin2.1.17,JDK6.0,2CPU,4G内存,d ...
- JVM参数设置、分析(转发)
JVM参数的含义 实例见实例分析 参数名称 含义 默认值 -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,J ...
- JVM参数(三)打印所有XX参数及值
本篇文章基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值. -XX:+PrintFlag ...
- JVM系列三:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...
- JVM参数汇总
一.java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足 ...
- (转)JVM参数调优八大技巧
这里和大家分享一下JVM参数调优的八条经验,JVM参数调优,这是很头痛的问题,设置的不好,JVM不断执行FullGC,导致整个系统变得很慢,网站停滞时间能达10秒以上,相信通过本文的学习你对JVM参数 ...
- JVM系列三:JVM参数设置、分析(转载)
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...
- jvm 参数调优
FROM: http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html#CMSInitiatingOccupancyFraction ...
随机推荐
- 移动手机端通过PC转接实现标签打印的解决方案
废话不多讲,由于种种原因项目上出现了移动手持录入标签信息通过pc端转接实现打印的需求,所以简单研究了一下,本来考虑使用webapi方式实现,但是发现这种方式调用打印机实现自动打印比较困难,所以转而求其 ...
- Day02:正则表达式 / Object / 包装类
JAVA正则表达式 实际开发中,经常需要对字符串数据进行一些复杂的匹配,查找,替换等操作. 通过"正则表达式",可以方便的实现字符串的复杂操作. 正则表达式是一串特定字符,组成一个 ...
- Day01:API文档 / 字符串基本操作
JDK API 什么是JDK API? JDK中包含大量的API类库,所谓AP就是一些写好的,可提供直接调用的功能(在Java语言中,这些功能以类的形式封装). JDK API包含的类库功能强大,经常 ...
- <数据结构系列2>栈的实现与应用(LeetCode<有效的的括号>)
首先想要实现栈,就得知道栈为何物,以下一段摘抄至百度百科: 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底. ...
- vue-cli3.0使用及部分配置详解
1.检测安装 vue-V 2.创建项目命令:(官网) 3.简单的配置信息 这里如果你是第一次用3.0版本的话,是没有前两个的,而只有最后两个,这里是 让你选的,第一个是默认配置,一般选第二个,自己 ...
- DIY兼容机装苹果系统
遇到问题: 无法用变色龙引导:删除原WIN系统前隐藏分区 变色龙引导画面无法进安装界面:a,wowpc.iso版本低,换新版;b,复制EXTRA进MAC安装盘 MAC OS安装完成后重新启动卡在苹果图 ...
- 深入解析Vue.js中v-bind v-model的使用和区别
v-model 指令在表单控件元素上创建双向数据绑定,所谓双向绑定,指的就是我们在js中的vue实例中的data与其渲染的dom元素上的内容保持一致,两者无论谁被改变,另一方也会相应的更新为相同的数据 ...
- 通过SEO可以做什么?
1.做关键词排名,从而带来大量的客户卖产品和服务.很多大型机械厂家就是这么做的,显然SEO赚取了不少利润. 2.通过SEO带来大量流量,从而投放广告或者跟厂家合作买产品,比如流量站之类. ...
- Spring Boot嵌入式的Servlet容器
一.查看SpringBoot默认的嵌入式Servlet容器(默认使用的是tomcat) 在IDEA的项目的pom文件中按Ctrl + shift + Alt + U可以打开SpringBoot依赖的图 ...
- icmp, IPPROTO_ICMP - Linux IPv4 ICMP 核心模块.
DESCRIPTION 描述 本网络核心协议模块实现了基于 RFC792 协议中定义的<互联网控制报文协议>.它针对网络主机间通讯出错的情况作出回应并给出诊断信息.用户不能直接使用本模块. ...