JVM参数总结

          最近在学习有关jvm参数的设置,把它记录下来方便查看

1.堆分配参数总结

        -Xms<>         设置Java应用程序启动时的初始堆大小

        -Xmx<>        设置Java应用程序能获得的最大堆大小

        -Xss<>     设置线程栈的大小

        -XX:MinHeapFreeRatio=<>  设置堆空间最小空闲比例。当堆空间的空闲内存小于这个数值时,JVM便会扩展堆空间

        -XX:MaxHeapFreeRatio=<> 设置堆空间的最大空闲比例。当堆空间的空闲内存大于这个数值时,便会压缩堆空间,得到一个较小的堆。

        -XX:NewSize=<>   设置新生代的大小

        -XX:NewRatio=<>  设置老年代与新生代的比例,它等于老年代大小除以新生代大小。

        -XX:SurvivorTatio=<>  新生代中eden区与survivor区的比例

        -XX:MaxPermSize=<>  设置最大的持久区大小

        -XX:PermSize=<>   设置永久去的初始值

        -XX:TargetSurvivorTatio=<>  设置survivior区的可使用率,当survivior区的空间使用率达到这个数值时,会将对象送入老年代

  

2.GC相关的参数总结

         1).与串行回收器相关的参数

         -XX:+UserSerialGC  在新生代和老年代使用串行收集器
         -XX:+SurvivorRatio=<>  设置eden区大小和survivor区大小的比例
         -XX:+PretenureSizeThreshold =<> 设置大对象直接进入老年代的阀值。当对象的大小超过这个值时,将直接在老年代分配。

         -XX:+MaxTenuringThreshold=<> 设置对象进入老年代的年龄的最大值,每一次Minor GC后,对象的年龄就加1,任何大于这个年龄的对象,一定会进入老年代.

         2).与并行GC相关的参数

         -XX:+UseParNewGC  在新生代使用并行收集器/老年代串行

         -XX:+UseParallelOldGC 老年代使用并行回收收集器/新生代并行

         -XX:ParallelGCThreads 设置用于垃圾回收的线程数,通常情况下可以和cpu数量相等,但在cpu数量比较多的情况下,设置相对较小的数值也是合理的.

         -XX:MaxGCPauseMillis 设置最大垃圾收集停顿时间。它的值是一个大于0的整数。收集器在工作时,会调整Java堆大小或者其他一些参数,尽可能的把停顿时                            间控制在MaxGCPauseMillis以内.

                      -XX:GCTimeRatio 设置吞吐量大小,它的值是一个0-100之间的整数,假设GCTimeRatio的值为n,那么系统将花费不超过1/(1+n)的时间用于垃圾收集.

                      -XX:+UseAdaptiveSizePolicy 打开自适应GC策略,在这种模式下,新生代的大小,eden和survivor的比例,晋升老年代的对象年龄等参数会被自动调整,以达到在堆大小,吞吐量和停顿时间之间的平衡点.

         3).与CMS回收器相关的参数

          -XX:+UseConcMarkSweepGC 新生代使用并行收集器,老年代使用CMS+串行收集器

          -XX:ParallelCMSThreads 设置CMS的线程数量

          -XX:CMSInitiatingOccupancyFraction 设置CMS收集器在老年代空间被使用多少后触发。默认为68%

          -XX:+UseCMSCompactAtFullCollection 设置CMS收集器在完成垃圾收集器后是否要进行一次内存碎片的整理.

          -XX:CMSFullGCsBeforeCompaction 设定进行多少次CMS垃圾回收后,进行一次内存压缩。

          -XX:+CMSClassUnloadingEnabled 允许对类元数据进行回收

          -XX:+CMSParallelRemarkEnabled 启动并行重标记 

          -XX:CMSInitiatingPermOccupancyFraction  当永久区占用率达到这个百分比时,启动CMS回收(前提是   -XX:+CMSClassUnloadingEnabled 激活了)

          -XX:UseCMSInitiationgOccupancyOnly 表示只在到达阀值的时候,才进行CMS回收.

          -XX:+CMSIncrementalMode 使用增量模式,比较适合单cpu

         4).与G1回收器相关的参数

          -XX:+UseG1GC  使用G1回收器

          -XX:+UnlockExperimentalVMOptions 允许使用实验性参数

          -XX:MaxGCPauseMillis 设置最大垃圾收集停顿时间

          -XX:GCPauseIntervalMillis  设置停顿间隔时间

          5).其他参数

          -XX:+DisableExplicitGc 禁用显示GC

          -XX:HeapDumpPath   可以指定堆快照的保存位置

          -XX:+HeapDumpOnOutOfMemoryError  保存堆快照

          -XX:OnOutOfMemoryError=c:\xxxx.bat  当jvm发生OOM错误时,会运行一段第三方脚本.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值