gpt4 book ai didi

Java 12-GC (JEP 346) 在资源按使用付费的容器环境中行为是否特别不利?

转载 作者:行者123 更新时间:2023-11-30 06:41:53 26 4
gpt4 key购买 nike

这个 JEP 的既定目标是增强 G1 垃圾收集器以在空闲时自动将 Java 堆内存返回给操作系统

由于G1极力避免full GC,只根据Java堆占用和分配 Activity 触发并发循环,所以在很多情况下它不会归还Java堆内存,除非外部强制这样做。

那么这在资源按使用付费的容器环境中是否不利?

谁能澄清一下....

引用:https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8204089

最佳答案

如果我没有误解你的话,你似乎是在问在容器化环境中让 GC 回收内存是否不利,因为用户可能没有充分利用内存,因此对资源收费过高。

您提供的链接实际上说明了以下内容:

This behavior is particularly disadvantageous in container environments where resources are paid by use. Even during phases where the VM only uses a fraction of its assigned memory resources due to inactivity, G1 will retain all of the Java heap. This results in customers paying for all resources all the time, and cloud providers [not being able to fully utilize their hardware][4].

If the VM were able to detect phases of Java heap under-utilization ("idle" phases), and automatically reduce its heap usage during that time, both would benefit.

这个 JEP 的设计者似乎相信用户和云提供商都会从回收未使用的内存中获益,并且从上面的说法看来是有道理的。

但是,如果您的程序在定时环境(例如 AWS Lambda)中运行并且它的生命周期很短,您甚至可能想要利用 Epsilon GC,因为它不会回收任何内存,因为这可能会让您受益更多在某些情况下(如果容器将被销毁,为什么还要花费 CPU 周期来回收内存?)。

关于Java 12-GC (JEP 346) 在资源按使用付费的容器环境中行为是否特别不利?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54490373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com