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——参数解释的更多相关文章

  1. Java 6 JVM参数选项大全(中文版)

    原文来自: http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm 本文是基于最新的SUN官方文档Java SE 6 Hotsp ...

  2. JVM参数调优

    JVM参数调优 JVM参数调优是一个很头痛的问题,可能和应用有关系,下面是本人一些调优的实践经验,希望对读者能有帮助,环境LinuxAS4,resin2.1.17,JDK6.0,2CPU,4G内存,d ...

  3. JVM参数设置、分析(转发)

    JVM参数的含义 实例见实例分析 参数名称 含义 默认值   -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,J ...

  4. JVM参数(三)打印所有XX参数及值

    本篇文章基于Java 6(update 21oder 21之后)版本, HotSpot JVM 提供给了两个新的参数,在JVM启动后,在命令行中可以输出所有XX参数和值. -XX:+PrintFlag ...

  5. JVM系列三:JVM参数设置、分析

    不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...

  6. JVM参数汇总

    一.java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足 ...

  7. (转)JVM参数调优八大技巧

    这里和大家分享一下JVM参数调优的八条经验,JVM参数调优,这是很头痛的问题,设置的不好,JVM不断执行FullGC,导致整个系统变得很慢,网站停滞时间能达10秒以上,相信通过本文的学习你对JVM参数 ...

  8. JVM系列三:JVM参数设置、分析(转载)

    不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM.GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java ...

  9. jvm 参数调优

    FROM: http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html#CMSInitiatingOccupancyFraction ...

随机推荐

  1. windows上使用curl删除和查看ES索引

    首先使用curl获取集群中可用的Elasticsearch索引列表: $ curl http://<node-ip|hostname>:9200/_cat/indices <node ...

  2. redhat7.5 替换yum源

    Redhat 7自带的yum源需要付费注册,未注册情况下会报如下错误,且用yum repolist all检查源数目为0.这时候需要将RedHat 7自带的yum源 替换成CentOS 7免费源 解决 ...

  3. LeetCode.1021-删除最外面的括号(Remove Outermost Parentheses)

    这是小川的第380次更新,第408篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第242题(顺位题号是1021).有效的括号字符串为空(""),&qu ...

  4. c++嵌入linux指令以查找文件夹

    char buf[256]={0}; char cmd[64] ={0}; FILE *fp=NULL; snprintf(cmd,sizeof(cmd),"ls %s",&quo ...

  5. opencv中对图片的二值化操作并提取特定颜色区域

    一.最近因为所在的实习公司要求用opencv视觉库来写一个对图片识别并提取指定区域的程序.看了很多资料,只学会了皮毛,下面附上简单的代码.运行程序之前需要安装opencv库,官网地址为:https:/ ...

  6. Linux小技巧:du -sh * —— 查询文件目录大小

    du -ach * #这个能看到当前目录下的所有文件占用磁盘大小和总大小 du -sh #查看当前目录总大小 du -sh * #查看所有子目录大小 du -sh ./* #查看当前目录下所有文件/文 ...

  7. CentOS7之ssh-Xshell密钥认证登陆

    操作系统版本:CentOS Linux release 7.2.1511 (Core)   SSH版本:OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 1.打开Xshell工 ...

  8. Python常用方法库备忘(一)_当前路径下文件夹和文件

    #!/usr/bin/env python # -*- coding:utf-8 -*- # --------------*-------------- # @Author : AilF # @Tim ...

  9. 【6.24校内test】T3 棠梨煎雪

    [题目背景] 岁岁花藻檐下共将棠梨煎雪. 自总角至你我某日辗转天边. 天淡天青,宿雨沾襟. 一年一会信笺却只见寥寥数言. ——银临<棠梨煎雪> [问题描述] 扶苏正在听<棠梨煎雪&g ...

  10. [LeetCode] 226. 用队列实现栈

    题目链接: https://leetcode-cn.com/problems/implement-stack-using-queues 难度:简单 通过率:59.9% 题目描述: 使用队列实现栈的下列 ...