java - promise 堆与最大堆

标签 java jvm websphere

嗨,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/

相关文章:

java - Lotus Notes API 在文档集合合并中给出错误

java - 64 位 JVM 的优势

java - 嵌入/嵌套自定义 JSP 标记以设置另一个 HTML 标记的属性值

java - 如何在运行时更改特定用户/线程的日志级别

Java Swing : How JToolbar changes appearance of a button?

java - 使用最新 java 版本重新编译旧 java 项目的性能优势

java - 即使在Java中初始化子类后,静态变量的值也不会改变

JVM 抛出 java.lang.UnknownError

java - 访问 Azure 端点时遇到 "java.net.ConnectException: A route to the remote host is not available"

java 数组返回最小值