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 ...
随机推荐
- 在IOS系统中微信浏览器input输入框输入值无效
[contenteditable="true"], input, textarea { -webkit-user-select: auto!important; -khtml-us ...
- http状态码 超详细
100 Continue 这个临时响应表明,迄今为止的所有内容都是可行的,客户端应该继续请求,如果已经完成,则忽略它. 101 Switching Protocol 该代码是响应客户端的 Upgrad ...
- C语言I博客作业12
一.我学到的内容 二.我的收获 作业链接 收获 博客第一次作业:https://www.cnblogs.com/gm12/p/11584148.html 第一次作业收获:第一次作业是我初步接触C语言的 ...
- Elasticsearch-搜索并获取数据
Elasticsearch-搜索并获取数据 在group中搜索elasticsearch curl -XGET "localhost:9200/get-together/group/_sea ...
- 小记------查看‘阿里云机器’yarn 日志
通过ip:8088 页面 复制正在运行的application ID 在linux客户端执行 xshell yarn logs -applicationId application_155869 ...
- HDU 1401 Solitaire 双向DFS
HDU 1401 Solitaire 双向DFS 题意 给定一个\(8*8\)的棋盘,棋盘上有4个棋子.每一步操作可以把任意一个棋子移动到它周围四个方向上的空格子上,或者可以跳过它四个方向上的棋子(就 ...
- C++中的三种继承方式
1,被忽略的细节: 1,冒号( :)表示继承关系,Parent 表示被继承的类,public 的意义是什么? class Parent { }; class Child : public Parent ...
- [LeetCode] 228. 汇总区间
题目链接: https://leetcode-cn.com/problems/summary-ranges 难度:中等 通过率:48.9% 题目描述: 给定一个无重复元素的有序整数数组,返回数组区间范 ...
- js 学习三 Array
1.数组的长度 var sequence = [1, 1, 2, 3, 5, 8, 13]; sequence .length //7 2.字符串转换成数组 string.split() var my ...
- php实用小技巧【持续更新】
这是本人开始做项目的时候遇到过的问题还有解决方法 1.eval函数 能把字符串转换成可执行的php代码,如果字符串不是可执行的php代码的话,需要在前面加上@,屏蔽notice 2.array_mer ...