首页 > 其他 > 详细

JVM配置参数解析

时间:2019-05-30 11:50:36      阅读:114      评论:0      收藏:0      [点我收藏+]

  1.参数说明(部分,待完善)

 

    -Xms128M:JVM初始分配的堆内存

    -Xmx256M:JVM最大允许分配的堆内存,按需分配

    -XX:PermSize=64M: JVM初始分配的非堆内存

    -XX:MaxPerSize=128M:JVM最大允许分配的非堆内存,按需分配          

    2.堆内存分配(-Xms -Xmx)

 

          JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;最大分配的堆内存由-Xmx指定,默认是物理内存的1/4。

               默认空余堆小于40%时,JVM就会增大堆直到-Xmx的最大限制;

       空余堆大于70%时,JVM就会减少堆直到-Xms的最小限制;

       介于此情况,通常服务器设置-Xms -Xmx相等,以避免每次GC后调整堆的大小

          注意:若-Xms不指定数值或者数值偏小,系统可能会抛出java.lang.OutOfMemory错误,此错误来源于JVM,不可捕获。

   3.非堆内存分配(-XX:PermSize -XX:MaxPermSize)

       JVM初始分配的堆内存由-XX:PermSize指定,默认是物理内存的1/64;最大分配的堆内存由-XX:MaxPerSize指定,默认是物理内存的1/4。

               注意:-XX:MaxPermSize设置过小会导致内存溢出java.lang.OutOfMemoryError: PermGen space。

               导致此情况出现的原因:

       (1)该区域存储class和Meta信息,类加载时放入PermGen space区域,和实例对象存储的Heap区域不同。

                       (2)GC不会在主程序运行时对PermGen space进行清理

    主要出现在web服务器对jsp预编译的时候。

                                                     --------------------------------菜鸟整理,如有错误,欢迎指出!

                  

 

JVM配置参数解析

原文:https://www.cnblogs.com/kaizhengMan/p/10948409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!