首页 > 编程语言 > 详细

1.java应用jvm原理及参数调优

时间:2017-12-27 16:33:04      阅读:222      评论:0      收藏:0      [点我收藏+]

什么是jvm?

虚拟机 ,字节码,平台无关

技术分享图片

jvm是按照运行时数据的存储结构来划分内存结构的,jvm在运维java程序时,将它们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。运行时数据包括java程序本身的数据信息和jvm运行java需要的额外数据信息。

jvm堆配置参数

1  -Xms 初始堆大小

默认物理内存的1/641(<1g)

2  -Xms 最大堆大小

默认物理内存的1/4(<1GB),实际中建议不大于4G。

3 一般建议设置 -Xms= -Xmx 

好处是避免每次在gc后,调整堆的大小,减少系统内存分配开销

4 整个堆的大小= 年轻代大小+年老代大小+持久代大小.

 jvm  内存结构

技术分享图片

 jvm新生代(young generation)

新生代=1个eden区+2个Survivor区

-Xmn 年轻代大小(1.4 or lator)

-XX:NewSize, -XX:MaxNewSize (设置年轻代大小(for1.3/1.4))

默认值大小为整个堆的3/8

-XX:NewRatio

年轻代(包括Eden和两个survivor区)与年老代的比值(除去持久代)

Xms=Xmx  并且设置了Xmn的情况下,该参数不需要进行设置。

-XX:SurvivorRatio

Eden区与Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2.8,一个Survivor区占整个年轻代的1/10

用来存放jvm 刚分配的java对象。

技术分享图片

 

java 持久代(perm generation)

1.代=整个堆-年轻代大小-老年代大小

1.

1.java应用jvm原理及参数调优

原文:https://www.cnblogs.com/wolfboy55-163-com/p/8126146.html

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