gpt4 book ai didi

Ubuntu 中的 Java OutofMemory 错误,即使有足够的可用内存

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:41:26 26 4
gpt4 key购买 nike

我有一个 20GB RAM 的 VPS,Ubuntu 操作系统。我正在尝试使用 JAVA_TOOL_OPTIONS 将 10GB RAM 作为最大堆分配给 java,但我不能。请参阅随附的屏幕截图。它显示可用内存为 17GB。当我尝试设置为 7GB 时,它可以正常工作。但堆错误仅在大于 7GB 时发生。我已经安装了 glassfish 并为其集群分配了 3Gb。它工作正常。但是,为什么当我有 17GB 可用 RAM 时,我无法分配大于 7GB 的空间。

enter image description here

enter image description here

顶部 enter image description here

上限

enter image description here

Java 版本 enter image description here

过度使用内存

enter image description here

我的硬件是虚拟托管的。下面是配置

  • 架构:x86_64
  • CPU 操作模式:32 位、64 位
  • 字节序:小端
  • CPU:16
  • 供应商 ID:GenuineIntel
  • CPU 系列:6
  • 模特:26
  • 步进:5
  • CPU 频率:2266.802
  • BogoMIPS:4533.60
  • 虚拟化:VT-x

最佳答案

如果我不得不猜测,您没有 7GB 的连续 RAM block ,这看起来确实很奇怪,但在不了解您的 VM 分配的更多信息的情况下很难说。

以下是 Oracle 对此事的看法 (http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_oom):

The VM prints "OutOfMemoryError" and exits. Increasing max heap size doesn't help. What's going on?

The Java HotSpot VM cannot expand its heap size if memory is completely allocated and no swap space is available. This can occur, for example, when several applications are running simultaneously. When this happens, the VM will exit after printing a message similar to the following.

Exception java.lang.OutOfMemoryError: requested bytes

-Xmx-Xms-Xmx

For more information, see the evaluation section of bug 4697804.

关于Ubuntu 中的 Java OutofMemory 错误,即使有足够的可用内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040027/

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