zoukankan      html  css  js  c++  java
  • 工作中常用的 JVM 配置参数有哪些?

    Java 8 为例

    日志

    -XX:+PrintFlagsFinal,打印JVM所有参数的值
    -XX:+PrintGC,打印GC信息
    -XX:+PrintGCDetails,打印GC详细信息
    -XX:+PrintGCTimeStamps,打印GC的时间戳
    -Xloggc:filename,设置GC log文件的位置
    -XX:+PrintTenuringDistribution,查看熬过收集后剩余对象的年龄分布信息

    内存设置

    -Xms,设置堆的初始化内存大小
    -Xmx,设置堆的最大内存
    -Xmn,设置新生代内存大小
    -Xss,设置线程栈大小
    -XX:NewRatio,新生代与老年代比值
    -XX:SurvivorRatio,新生代中Eden区与两个Survivor区的比值,默认为8,即Eden:Survivor:Survivor=8:1:1
    -XX:MaxTenuringThreshold,从年轻代到老年代,最大晋升年龄。CMS 下默认为 6,G1 下默认为 15
    -XX:MetaspaceSize,设置元空间的大小,第一次超过将触发 GC
    -XX:MaxMetaspaceSize,元空间最大值
    -XX:MaxDirectMemorySize,用于设置直接内存的最大值,限制通过 DirectByteBuffer 申请的内存
    -XX:ReservedCodeCacheSize,用于设置 JIT 编译后的代码存放区大小,如果观察到这个值有限制,可以适当调大,一般够用即可

    设置垃圾收集相关

    -XX:+UseSerialGC,设置串行收集器
    -XX:+UseParallelGC,设置并行收集器
    -XX:+UseConcMarkSweepGC,使用CMS收集器
    -XX:ParallelGCThreads,设置Parallel GC的线程数
    -XX:MaxGCPauseMillis,GC最大暂停时间 ms
    -XX:+UseG1GC,使用G1垃圾收集器

    CMS 垃圾回收器相关

    -XX:+UseCMSInitiatingOccupancyOnly
    -XX:CMSInitiatingOccupancyFraction,与前者配合使用,指定MajorGC的发生时机
    -XX:+ExplicitGCInvokesConcurrent,代码调用 System.gc() 开始并行 FullGC,建议加上这个参数
    -XX:+CMSScavengeBeforeRemark,表示开启或关闭在 CMS 重新标记阶段之前的清除(YGC)尝试,它可以降低 remark 时间,建议加上
    -XX:+ParallelRefProcEnabled,可以用来并行处理 Reference,以加快处理速度,缩短耗时

    G1 垃圾回收器相关

    -XX:MaxGCPauseMillis,用于设置目标停顿时间,G1 会尽力达成
    -XX:G1HeapRegionSize,用于设置小堆区大小,建议保持默认
    -XX:InitiatingHeapOccupancyPercent,表示当整个堆内存使用达到一定比例(默认是 45%),并发标记阶段就会被启动
    -XX:ConcGCThreads,表示并发垃圾收集器使用的线程数量,默认值随 JVM 运行的平台不同而变动,不建议修改

  • 相关阅读:
    express 项目前后台公用样式 /static/js/bootstrap.min.js
    判断滚动条是否到了底部
    JS如何判断滚动条是否滚到底部
    移动端touch触屏滑动事件、滑动触屏事件监听!
    JS事件监听手机屏幕触摸事件 Touch
    nodejs mysql 连接数据库
    nodejs route的简单使用
    nodejs jade 模板 引擎的使用方法
    nodejs 模板引擎ejs的简单使用(3)
    nodejs 模板引擎ejs的简单使用(2)
  • 原文地址:https://www.cnblogs.com/MessiXiaoMo3334/p/14972194.html
Copyright © 2011-2022 走看看