精华内容
下载资源
问答
  • jvm 常用参数

    2016-02-24 09:24:00
    jvm 常用参数
    -XX:PermSize=64m -XX:MaxPermSize=128m -Xmn512m -Xms2048m -Xmx2048m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+CMSParallelRemarkEnabled -XX:CMSFullGCsBeforeCompaction=3 -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:SurvivorRatio=8 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/yiboliu/heap_jdk_log/
    展开全文
  • JVM常用参数

    2021-05-11 16:48:29
    JVM常用参数 https://www.cnblogs.com/jiataoq/p/9512498.html
    展开全文
  • jvm常用参数

    千次阅读 2018-11-19 20:29:06
    -XX:+PrintCompilation 打印jit代码 -XX:+DoEscapeAnalysis 开启逃逸分析 -XX:+PrintEscapeAnalysis 开启逃逸分析后,可通过此参数查看分析结果

    jvm参数

    -Xms8g 最小堆
    -Xmx8g 最大堆
    -Xmn512m 年轻代
    此处的大小是(eden+ 2 survivor space),与jmap -heap中显示的New gen是不同的(jmap的new gen 是 eden+1个Survivor区)。
    -XX:NewRatio=2 年轻代和老年代的比例
    等于2表示,1:2,即年轻代占堆内存的1/3
    -XX:SurvivorRatio
    设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10
    整个堆大小=年轻代大小 + 年老代大小 + 持久代大小(1.8无)
    -Xss 每个线程的堆栈大小,谨慎配置
    -XX:PermSize=5m 方法区 (1.8无,1.8为 -XX:MetaspaceSize=200m;-XX:MaxMetaspaceSize=256m;)

    Java HotSpot(TM) Client VM warning: ignoring option PermSize=5m; support was removed in 8.0
    
    

    -XX:MetaspaceSize=512m 元空间 1.8新增
    -XX:MaxMetaspaceSize=512m 最大元空间
    -XX:NewRatio 整个年轻代与老年代的比例,4 表示年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5
    -XX:SurvivorRatio Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8
    -XX:CMSInitiatingOccupancyFraction=70 使用CMS作为垃圾回收,使用70%后开始CMS收集
    -XX:MaxTenuringThreshold 垃圾最大年龄,如果设置为0的话,则年轻代对象不经Survivor区,直接进入年老代
    -XX:SurvivorRatio=65536,-XX:MaxTenuringThreshold=0 去掉了救助空间

    -XX:+UseParNewGC 对年轻代采用多线程并行回收
    -XX:+CMSClassUnloadingEnabled 垃圾回收会清理持久代,移除不再使用的classes(前提:-XX:+UseConcMarkSweepGC)
    -XX:+UseCMSInitiatingOccupancyOnly 指定HotSpot总是使用CMSInitiatingOccupancyFraction的值作为old的空间使用率限制来启动CMS垃圾回收,如果没有使用-XX:+UseCMSInitiatingOccupancyOnly,那么HotSpot只是利用这个值来启动第一次CMS垃圾回收,后面都是使用HotSpot自动计算出来的值
    -Xloggc:E:/gclog/gc.log windows下日志输出
    -Xloggc:/gclog/gc.log linux
    -XX:+PrintGCDetails 打印GC日志,配合xloggc使用,否则只是在控制台输出
    -XX:+PrintGCDateStamps 记录系统时间
    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\oomdum
    OOM自动生成java_pidXXX.hprof
    -XX:+PrintCommandLineFlags 输出垃圾收集器类型
    -XX:+PrintGCApplicationStoppedTime 打印停顿时间
    -XX:+PrintSafepointStatistics –XX:PrintSafepointStatisticsCount=1 输出safepoint的统计信息
    错误: 找不到或无法加载主类 –XX:PrintSafepointStatisticsCount=1

    -XX:+DisableExplicitGC 禁止代码中的System.gc()
    -XX:+ExplicitGCInvokesConcurrent 使得外部system.gc生效

    System.gc()是正常FULL GC,会STW
    打开此参数后,在做System.gc()时会做background模式CMS GC,即并行FULL GC,可提高FULL GC效率
    

    -XX:+CMSScavengeBeforeRemark 开启或关闭在CMS重新标记阶段之前的清除(YGC)尝试

    CMS并发标记阶段与用户线程并发进行,此阶段会产生已经被标记了的对象又发生变化的情况,若打开此开关,可在一定程度上降低CMS重新标记阶段对上述“又发生变化”对象的扫描时间,当然,“清除尝试”也会消耗一些时间
    注意:开启此开关并不会保证在标记阶段前一定会进行清除操作
    cms gc会以新生代作为GC ROOT的一部分,在remark之前,做一次young gc,回收到新生代大部分对象,减少gc root的开销 -- 解决cms remark时间过长
    

    XX:+UseGCOverheadLimit 默认开启 ,如果GC时间过长,抛出oom

    其他参数

    -XX:+PrintCompilation 打印jit代码
    -XX:CompileThreshold JIT编译的阈值,server模式10000,client模式1500,当函数调用超过该阈值时,JIT将字节码编译成本地机器码
    编译器产生的本地代码会比Javac 产生的字节码更加优秀

    锁参数

    -XX:-UseBiasedLocking 禁用偏向锁
    -XX:+EliminateLocks 开启锁消除

    逃逸分析

    -XX:+DoEscapeAnalysis 开启逃逸分析
    -XX:+PrintEscapeAnalysis 开启逃逸分析后,可通过此参数查看分析结果
    -XX:+EliminateAllocations 开启标量替换
    -XX:+EliminateLocks 开启同步消除
    -XX:+PrintEliminateAllocations 开启标量替换后,查看标量替换情况

    \Java\jdk1.8.0_121\jre\lib\amd64\jvm.cfg
    -server KNOWN
    -client IGNORE

    Client VM:为在客户端环境中减少启动时间而优化
    Server VM:为在服务器环境中最大化程序执行速度而设计,-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升

    常见问题

    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=c:\\oom
    

    发生oom以后,进程继续运行,不生成dump文件

    参考:https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
    https://blog.csdn.net/ning0323/article/details/76505378

    展开全文
  • jVM 常用参数

    2016-04-23 14:37:08
    1.内存相关 参数名称 ...默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. -Xmx 最大堆大小 物理内存的1/4( 默认(MaxHeapFreeRatio参数可以调整

    关于JVM选项的几点:

    1) 布尔型参数选项:-XX:+ 打开, -XX:- 关闭。(译者注:比如-XX:+PrintGCDetails)

    2) 数字型参数选项通过-XX:=设定。数字可以是 m/M(兆字节),k/K(千字节),g/G(G字节)。比如:32K表示32768字节。(译者注:比如-XX:HeapDumpPath=./java_pid.hprof)

    3) 字符行参数选项通过-XX:=设定,通常用来指定一个文件,路径,或者一个命令列表。(译者注:比如-XX:+PrintGCDetails)

    4) 以-X开头的都是非标准的(这些参数并不能保证在所有的JVM上都被实现),而且如果在新版本有什么改动也不会发布通知。

    5)以-XX开头的都是不稳定的并且不推荐在生产环境中使用。这些参数的改动也不会发布通知。


    1.内存相关

    参数名称 含义 默认值  
    -Xms 初始堆大小 物理内存的1/64(<1GB) 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.
    -Xmx 最大堆大小 物理内存的1/4(<1GB) 默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
    -Xmn 年轻代大小(1.4or lator)
      注意:此处的大小是(eden+ 2 survivor space).与jmap -heap中显示的New gen是不同的。
    整个堆大小=年轻代大小 + 年老代大小 + 持久代大小.
    增大年轻代后,将会减小年老代大小.此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8
    -XX:NewSize 设置年轻代大小(for 1.3/1.4)    
    -XX:MaxNewSize 年轻代最大值(for 1.3/1.4)    
    -XX:PermSize 设置持久代(perm gen)初始值 物理内存的1/64  
    -XX:MaxPermSize 设置持久代最大值 物理内存的1/4  
    -Xss 每个线程的堆栈大小   JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K.更具应用的线程所需内存大小进行 调整.在相同物理内存下,减小这个值能生成更多的线程.但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右
    一般小的应用, 如果栈不是很深, 应该是128k够用的 大的应用建议使用256k。这个选项对性能影响比较大,需要严格的测试。(校长)
    和threadstacksize选项解释很类似,官方文档似乎没有解释,在论坛中有这样一句话:"”
    -Xss is translated in a VM flag named ThreadStackSize”
    一般设置这个值就可以了。
    -XX:ThreadStackSize Thread Stack Size   (0 means use default stack size) [Sparc: 512; Solaris x86: 320 (was 256 prior in 5.0 and earlier); Sparc 64 bit: 1024; Linux amd64: 1024 (was 0 in 5.0 and earlier); all others 0.]
    -XX:NewRatio 年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)   -XX:NewRatio=4表示年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5
    Xms=Xmx并且设置了Xmn的情况下,该参数不需要进行设置。
    -XX:SurvivorRatio Eden区与Survivor区的大小比值   设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10
           


    展开全文
  • JVM 常用参数

    千次阅读 2014-05-26 10:16:05
    参数名称 含义 默认值 相关描述 ...内存管理参数 ...默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的...默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到
  • JVM常用参数配置

    2020-11-13 16:01:35
    JVM常用参数配置 博客地址 https://blog.csdn.net/weixin_37195606/article/details/82805216
  • JVM常用参数分类详解

    2017-03-28 10:33:12
    JVM常用参数详解
  • jvm常用参数配置

    2017-06-20 09:13:26
    web服务器jvm常用参数配置: -server //服务器模式 -Xmx2g //JVM最大允许分配的堆内存,按需分配 -Xms2g //JVM初始分配的堆内存,一般和Xmx配置成一样以避免每次gc后JVM重新分配内存。 -Xmn256m //年轻代内存大小,...
  • 转自...utm_medium=toutiao.io&utm_source=toutiao.io JVM常用参数选项 jvm 可配置的参数选项可以参考 Oracle 官方网站给出的相关信息:http://www.oracle.c...
  • https://snailclimb.gitee.io/javaguide/#/docs/java/jvm/GC调优参数?id=java内存区域常见配置参数概览
  • JVM 常用参数详解

    2019-08-11 16:36:03
    文章目录常用参数参考推荐使用工具 常用参数参考 参数官方链接 参考 解释 -Xms 初始堆大小 -Xmx 堆最大值 -xmn 堆年轻代大小 -Xss 设置线程栈大小 -XX:MaxMetaspaceSize 增加metaspace的大小 -XX:...
  • JVM常用参数总结

    2018-08-09 15:11:20
    本文是对Java8 JVM参数解读的总结 1、堆设置 ##设置初始年轻代堆大小 -Xmn512m ##设置初始的年轻代的大小,该参数等价于-Xmn。 -XX:NewSize=512m 设置最大的年轻代的堆大小。默认自动检测。 -XX:MaxNewSize=512...
  • JVM常用参数说明

    2014-07-21 13:56:04
    常用JVM的启动参数参数类别 参数项 说明 标准参数(-,所有的JVM实现都必须实现这些参数的功能,而且向后兼容) -client 以client模式启动jvm,这种方式启动...
  • jvm常用参数设置

    2016-04-10 23:26:38
    默认值:物理内存的1/64(),默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制。 设置命令-Xms2 最大堆大小: 默认值:物理内存的1/4(),默认(MaxHeapFreeRatio参数可以...
  • JVM常用参数与工具

    千次阅读 2016-09-23 10:02:38
    原文出处:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html目录参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时...
  • JVM 常用参数总结

    2017-11-14 16:08:03
    1、-Xms20M 初始堆大小 ...5、-XX:+PrintFlagsInitial 打印所有可设置参数的初始值 6、-XX:+PrintFlagsFinal 代言所有可设置参数的当前值 7、-verbose:gc 开启打印垃圾回收日志 8、-Xloggc:eclipse_gc.
  • jdk8以上jvm常用参数

    万次阅读 2018-09-19 15:08:53
    调整jvm参数的方法有很多,网上也到处是,我也看了很多,选择用tomcat进行jvm参数设置。 linux服务器配置: linux系统下的tomcat通过startup.sh启动的 所以我们在catalina.sh正式代码开始之前加上 JAVA_OPTS=&...
  • 1.JVM参数 1.1 标准参数 -version -help -server -cp 1.2 -X参数 非标准参数,也就是在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 1.3 ...
  • MEM_ARGS="-Xms512m -Xmx1536m

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 127,158
精华内容 50,863
关键字:

jvm常用参数