固定堆大小的优点是什么,即 -Xms = -Xmx
我的应用程序使用固定堆大小,即 -Xms
= -Xmx
但即使经过一些谷歌搜索,我也无法理解固定堆大小的优点是什么。如果有任何 JVM 专家可以解释一下。
My application is using fixed heap size i.e. -Xms
= -Xmx
but even after some Googling I couldn't understand what is the advantage of fixed heap size. If any JVM expert could please throw some light on it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果将
-Xms
与-Xmx
保持相同,则会发生以下几件事:-Xms
与-Xmx
不同,则每次 GC 周期后通常会发生这种情况。我不确定这是否有任何真正的优势,但我认为这只是您获得了一个受控环境,从一开始就获得了良好的堆大小(Oracle 文档中提到)。
什么时候应该使用固定堆大小?
来自 Oracle docs:如果您知道应用程序的堆大小要求,那么您应该使用固定堆大小,否则您应该使用以下任一选项 - (1.) 使用
-Xmx
和-Xms
(2.) 不要使用-Xmx< /code> 和
-Xms
,而是指定要使用的垃圾收集器,它将增大和缩小堆。If you keep
-Xms
the same as-Xmx
then a couple of things happen:-Xms
is not same as-Xmx
.I am not sure if there is any real advantage in this but I think it is just that you get a controlled environment where you get a good heap size right from the start (which is mentioned in the Oracle docs).
When you should use fixed heap size?
From Oracle docs: if you know the heap size requirement of your application then you should use fixed heap size otherwise you should go with either of the options - (1.) use
-Xmx
and-Xms
(2.) don't use-Xmx
and-Xms
, and instead specify the garbage collector you want to use and it will grow and shrink the heap.