例如,我将-Xmx设置为40G。我期望我的Java处理器不使用超过40G的内存。
我的程序在使用cms-gc时运行良好。
但是当我改用相同内存量的G1 gc时(即使增加了15%的内存),它总是被oom killer杀掉。
我发现了一些类似于这样的文章:为什么我的Java进程消耗的内存超过Xmx? 它表达了以下内容:
我的程序在使用cms-gc时运行良好。
但是当我改用相同内存量的G1 gc时(即使增加了15%的内存),它总是被oom killer杀掉。
我发现了一些类似于这样的文章:为什么我的Java进程消耗的内存超过Xmx? 它表达了以下内容:
G1 is especially known for its
excessive appetite for additional memory, so be aware of this.
我想知道如何限制g1 gc使用的内存以及为什么g1需要使用更多的附加内存。
Xmx
参数,直到整个进程内存适合您可用的内存。由于没有直接限制整个进程内存的参数,因此这将是试错过程。 - Codo