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 ...
随机推荐
- 使用xUnits来实现单元测试
目录 前言 单元测试 xUnit 小结 附录 前言 从开始敲代码到现在,不停地都是在喊着记得做测试,记得自测,测试人员打回来扣你money之类的,刚开始因为心疼钱(当然还是为了代码质量),就老老实实自 ...
- SpringBoot常用注解有哪些?
@Service: 注解在类上,表示这是一个业务层bean@Controller: 注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表示这是一个数据访问层bean@Comp ...
- 利用Ansible模块copy和fetch进行主机间文件的传递
场景: java应用程序和Ansible不在同一台机子,要读取的文件又在另一台主机. 主机a不能保存文件,可以临时保存. 文件都在主机b上保存. 需求: 需要将文件从主机c传到主机b,再从主机b传到主 ...
- Angular5 tslint错误:The selector of the component “XXXComponent” should be used as element
错误描述 在项目中自己封装了一个 select 组件 @Component({ selector: '[app-choosen-select]', templateUrl: './selectcomm ...
- 软件设计分为结构化设计(SD)
软件设计分为结构化设计(SD)与面向对象设计(OOD). 其中结构化设计SD是一种面向数据流的方法,它以SRS(软件需求规格说明书)和SA(结构化分析)阶段所产生的和数据字典等文档为基础,是一个自顶向 ...
- SpringBoot如何使用PUT、DELETE请求方式
SpringBoot 2.2.X默认不支持put,delete等请求方式的. 首先需要在配置文件中打开他们,代码如下: spring.mvc.hiddenmethod.filter.enabled=t ...
- OSCHINA 公布 2019 年度最受欢迎中国开源软件
https://www.oschina.net/project 此文章从此处转载:https://www.oschina.net/project/top_cn_2019?utm_source=star ...
- SPOJ 4003 Phone List 题解
题面 啊~,很水的一道trie树模板题: 当两个串存在关系时情况有两种: 若当前串插入后没有任何新建节点,则该串肯定是之前插入的某个串的前缀: 若在插入的时候,有某个经过的节点带有某串结尾的标记,则之 ...
- day 01 常量 注释 int(整型) 用户交互input 流程控制语句if
python的编程语言分类(重点) if 3 > 2: 编译型: 将代码一次性全部编译成二进制,然后再执行. 优点:执行效率高. 缺点:开发效率低,不能跨平台. 代表语言:C 解释型: 逐行解释 ...
- Java编程思想读书笔记 第一章 对象导论
抽象过程 纯粹的面向对象程序设计方式: 万物皆为对象: 对象可以存储数据,还可以在其自身执行操作 程序是对象的集合: 通过发送消息告诉彼此要做的 每个对象都有自己的由其它对象构成的存储:可以在程序中构 ...