1

我从 WebSphere Application Server 的 SystemOut.log 文件中得到以下错误:

[5/11/12 8:13:46:291 GMT+08:00] 000063c0 WebApp        E   [Servlet Error]-[ICMResourceManager]: java.lang.OutOfMemoryError: unable to allocate 79683 bytes for native buffer
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:290)
at com.ibm.mm.icmrm.storage.RMOutputStream.write(RMOutputStream.java:65)
at com.ibm.mm.icmrm.storage.RMDataTransfer.copyData(RMDataTransfer.java:150)
at com.ibm.mm.icmrm.storage.filesystem.FileSystem.store(FileSystem.java:104)

似乎是本机OOM问题。我这里有个问题,这里的“本机缓冲区”和“直接字节缓冲区”一样吗?我可以尝试通过重置属性XX:MaxDirectMemorySize来扩大“本机缓冲区”的大小吗?顺便说一句,它的默认值是什么?或者我可以设置这个属性-Dcom.ibm.nio.DirectByteBuffer.AggressiveMemoryManagement=true以使本机内存空间动态?

WAS平台信息:

WebSphere Platform 6.1 [ND 6.1.0.27 cf270937.16]  running with process name cmrmCell01\cmrmNode01\icmrm1 and process id 1802306
Detailed IFix information: Please use the versionInfo command to view this information
Host Operating System is AIX, version 5.3
Java version = 1.5.0, Java Compiler = j9jit23, Java VM name = IBM J9 VM
4

1 回答 1

0

我知道这不是一个很好的答案,但是看看这篇文章,了解 JVM 如何在 AIX 上使用本机内存,是否有任何用处。

于 2012-05-14T15:45:05.657 回答