固定堆大小的优点是什么,即 -Xms = -Xmx

发布于 2025-01-10 03:49:11 字数 110 浏览 0 评论 0原文

我的应用程序使用固定堆大小,即 -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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

在巴黎塔顶看东京樱花 2025-01-17 03:49:11

如果将 -Xms-Xmx 保持相同,则会发生以下几件事:

  1. 从一开始,您将获得提交给虚拟机 (JVM) 的相同堆大小。
  2. 由于它是固定堆,因此 JVM 永远不会增大或缩小堆,如果 -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:

  1. Right from the start you will get the same heap size committed to the virtual machine (JVM).
  2. Since it is a fixed heap so JVM will never grow or shrink the heap, which is what usually happens after each GC cycle if -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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文