Xms Xmx size 调整java虚拟机堆大小

-Xms 设置堆空间(年轻代)的初始内存大小,等价于  -XX:InitialHeapSize

-Xmx 设置堆空间(老年代)的最大内存大小,等价于  -XX:MaxHeapSize

一旦堆区中的内存大小超过“-Xmx”所指定的最大内存时,将会抛出OutofMemoryError异常。

-X:jvm运行参数

ms: memory start

mx:memorry max

默认堆空间大小:

初始内存大小:物理内存大小 / 64

最大内存大小:物理内存大小 / 4

通过 jvisualvm.exe (在jdk的安装目录/bin下)图形化方式查看堆信息:

/**
 * 设置: -Xms10m -Xmx10m
 */
public class XmsTest {
    public static void main(String[] args) throws InterruptedException {
        Thread.sleep(1000_000);
    }
}

启动 jvisualvm,在jvm参数 tab页可以看到设置的堆内存信息。

 

通常会将-Xms和-Xmx两个参数配置相同的值

原因:假设两个不一样,初始内存小,最大内存大。在运行期间如果堆内存不够用了,会一直扩容直到最大内存。如果内存够用且多了,也会不断的缩容释放。频繁的扩容和释放造成不必要的压力,避免在GC之后调整堆内存给服务器带来压力。

如果两个设置一样的就少了频繁扩容和缩容的步骤。内存不够了就直接报OOM

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值