基本上我们已经注意到,在某些计算机上设置 JVM 选项 -Xmx(最大堆大小)有时会导致 JVM 无法初始化,即使系统上有足够的 RAM。
例如,在 4gb 机器上,我们有 -Xmx1024m 失败但 -Xmx800m 有效。我可以理解在 1gb 机器上,甚至是 2gb 机器上,但在 4gb 机器上,特别是考虑到 Windows、Linux 等可以交换 RAM,为什么会失败?
我已经看到很多线程和问题说要减少你的最大堆大小,但没有人能解释为什么它会失败,这正是我真正想要的。
同样,你怎么说消耗尽可能多的内存,直到达到一定的大小?