java - 调整直接缓冲内存的大小

标签 java out-of-memory websphere shared-memory ibm-jvm

我有一个在 Websphere 8.5 上运行的应用程序,我知道这个特定 JVM 的堆内存大小在过去有所增加。 提交的内存现在是 5.6GB,但我们遇到了与直接缓冲内存相关的内存问题,现在我们也需要调整它的大小。我可以通过监控看到这个问题发生,所以我看不到直接内存的大小。

我的问题是:是否根据 Java 堆内存大小对直接内存进行了正确的大小调整?比方说,每 X GB 至少 X MB。

XX:MaxDirectMemorySize 选项的默认值是多少?

在更改此选项之前我还应该考虑什么?

最佳答案

文档(针对 IBM Java 7)表示默认情况下它是无界的: https://www.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.win.70.doc/diag/appendixes/cmdline/xxmaxdirectmemorysize.html

我认为你应该考虑是否愿意让使用直接内存的应用程序失败,同时允许服务器中的其他工作继续进行。设置直接内存大小只会导致应用程序更快失败,因为默认值是无界的。

关于java - 调整直接缓冲内存的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070779/

相关文章:

java - 我可以向哪些类/实例中注入(inject) CDI 事件?

java网络服务: how to identify user

c# - System.OutOfMemoryException - 当 Entity Framework 正在查询 Varbinary 类型的过大数据时

clojure - 内存不足错误: GC overhead limit exceeded Criterium

java - 将 ctrl-break 发送到 64 位 Windows 上的 java 进程 ala 32 位上的 sendsignal

java - JAVA 中的 JVM 属性

java - 在 IProject 中搜索文件 - Eclipse

java - 跨 Java 和 Python 的 PKI 验证

java - 解析数百万个 XML 文件 - Java

java - 部署到 websphere 时在 hibernate 5 上使用 JPA 2.0