它是Websphere6.1,Solaris 10,JDK 1.5.0_13上的Java Web应用程序.我们将最大堆大小设置为1024m.jmap显示堆状态是健康的.堆内存使用率仅为57%.根本没有OutOfMemory.
但是我们从ps看到了这个java进程的非常高的RSS(3GB).pmap显示了一块1.9G的私有内存.
3785: /dmwdkpmmkg/was/610/java/bin/java -server -Dwas.status.socket=65370 -X Address Kbytes RSS Anon Locked Pgsz Mode Mapped File ... 0020A000 2008 2008 2008 - 8K rwx-- [ heap ] 00400000 1957888 1957888 1957888 - 4M rwx-- [ heap ] 8D076000 40 40 40 - 8K rw--R [ stack tid=10786 ] ...
它是本机代码中的C堆内存泄漏吗?建议找出根本原因的方法是什么?
Sun 的内存泄漏故障排除文档可以帮助您找到 RSS 高的问题,特别是在第 3.4 节中。
当您运行 Websphere 时,也许您可以在 VM 上使用-memorycheck 。详细信息请参见此处。
这不一定是本机代码中的泄漏。如果您查看此处,在 Solaris 上,文件保持打开状态可能会出现问题。
它只是一堆链接和提示,但可能有助于追踪您的问题。
| 归档时间: |
|
| 查看次数: |
8214 次 |
| 最近记录: |