-Xmx  指定最大堆  java虚拟机最多能够使用多少堆空间

-Xms  指定最小堆  至少使用多少空间,只要java虚拟机启动 ,这么多空间就会被占用


当申请一个1M的空间后


java会尽可能在维持在最小堆中运行

------------------------------------

再去分配4M的空间,就会扩容


--------------------------------------------------------------


-------------------------------------------------

-Xmn  : 用来设置新生代的大小  绝对值

-XX:NewRatio    设置百分比

             新生代(end+2*s)和 老年代(不包含永久区)的比值

          比如 4  表示新生代:老年代=1:4  

-XX:SurvivorRatio   

         -- 设置两个Survivor 区和eden的比例

         -- 8 表示 两个Survivor:eden=2:8 即一个Survivor占年轻代的1/10

有时候也叫 s0,s1

-------------------------------------

下面是例子


------------------------------------------------

调整新生代的大小


----------------------------------------------------------------------

调整新生代的大小 处于中间位置的时候 gc发生了



-----------------------------------------

调整幸存带的比例 大约1.7m左右   


------------------------------------------------


GC 越多理论上来说 对系统越不好

---------------------------------

幸存代比较大浪费空间比较严重,这里合理减少幸存带的大小


合理较少了幸存带的大小,幸存带减小到2M,gc的次数减少了,没有机会晋升到老年代

----------------------------------------


-XX:HeapDumpPath 代表dump的路径

-XX:HeapDumpOutOfMemoryError    表示out of memory 进行dump

dump的大小基本上和堆保持一致的

------------------------------------------

dump 打印线程的信息


------------------------------------







Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐