java xms xmx3d_Java如何使用XMX和XMS内存?

我有配置XMS = XMX(两者都是4G)的Tomcat.

但是 – 如果我将XMS设置为例如1G怎么办?

据我所知 – JVM将使用提供的1G内存启动Tomcat.然后,如果应用程序需要更多 – JVM将在某段时间内将其提升至4G.提升它 – Java必须运行一些操作(调整大小,重新定位内存中的页面?) – 这需要一些时间和CPU资源,对吗?

在Tomcat的应用程序之后发生了什么并不需要那么多内存? Java将再次运行操作以减少已用内存?

谢谢.

附:为什么我要问 – 使用XMS = 1G和XMX = 4G Apache Jmeter给出的结果远远少于(吞吐量和平均值),而不是我使用XMX和XMS都启动了Tomcat.

解决方法:

是的,JVM必须分配更多内存并重新安排所有堆空间(Eden,from,to,old和PermGen)以适应新内存.如果您计划让您的webapp使用一定数量的堆空间,那么最好在性能方面预先分配整个堆.

一旦完成,JVM将永远不会释放它从操作系统中获取的内存.因此,如果您需要4GiB堆并且JVM最终需要它,那么您的堆将保持在4GiB,直到JVM终止.

标签:java,memory,tomcat

来源: https://codeday.me/bug/20190629/1323952.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值