嗨,JVM 配置是:
- Xmx = 4096
- Xms = 1024
在我的监控工具中:我的提交堆始终为 2g,我的服务器出现 OutOfMemory 错误。
我不明白为什么我的 JVM 提交堆被限制为 2g 而没有增长到 4g(最大堆)
为什么未使用空闲堆并且我的服务器进入 OutOfMemory 异常?
注意:
- 我的应用服务器是 websphere 8.5。
- 我的服务器是 Linux 64 位。
提前致谢
最佳答案
同时设置preferredHeapBase可能会解决问题,也可能有许多其他原因导致 OOM:
- 无法满足非常大的内存请求 - 检查 OOM 时间戳之前的详细 GC 输出。
- 用户限制不足 Insufficient ulimit -u (NPROC) Value Contributes to Native OutOfMemory .检查用户限制。
- 应用程序要求超过 4gb native 内存。 在这种情况下,-Xnocompressedrefs 将解决问题(但带有 更大的 Java 内存占用和性能影响)。
还有其他原因,但我发现当有足够的 Java 堆可用空间时诊断 OOM 时,这些是最重要的原因。
关于java - promise 堆与最大堆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33091147/