【发布时间】:2019-01-16 00:36:20
【问题描述】:
我了解将 CPU 请求设置为小于限制的用例 - 如果实例有空闲 CPU,它允许每个容器中的 CPU 突增,从而导致最大 CPU 利用率。 但是,我无法真正找到对内存执行相同操作的用例。大多数应用程序在分配内存后不会释放内存,因此应用程序将有效地请求“限制”内存(这与设置请求 = 限制具有相同的效果)。唯一的例外是在已经分配了所有内存的实例上运行的容器。我真的没有看到这方面的任何优点,缺点是更难以监控的不确定性行为(一个容器由于大量 GC 而具有比另一个容器更高的延迟)。 我能想到的唯一用例是内存缓存中的阴影,您希望在其中允许内存使用量激增。但即使在这种情况下,也会面临其中一个节点表现不佳的风险。
【问题讨论】:
-
"大多数应用程序在分配内存后不会释放内存" 你从哪里得到的? 您隐含考虑的应用程序的子集可能是正确的,但总的来说听起来并不正确。
-
@Andrew Savinykh。公平的。我指的是一个典型的 JVM 应用程序,没有 NIO。堆通常不会自行收缩
标签: kubernetes