【发布时间】:2010-12-02 03:12:17
【问题描述】:
我们有一个奇怪的内存泄漏问题,在 Linux 中运行的 Java 进程的交换使用量不断增长。所以很自然地,我们查看了堆转储,并使用分析器在一段时间内对其进行监控。我们发现
1) 线程数没有增长
2) 堆使用量没有增长
3) 然而 (VIRT) 的使用量一直在增长(这可能会成为一个问题,因为系统开始耗尽交换空间)
现在有大量工具可以转储堆或监视堆,但没有用于堆外内存的工具。有人有什么想法吗?
PS 这是一个远程服务器,我们无权访问任何 GUI。
【问题讨论】:
-
您使用的是哪个 JVM/版本?这不太可能,但也许尝试另一个只是为了排除 JVM 错误。
-
我试过 openjdk 和 Sun 的 JDK,在 linux 下都一样。
标签: java optimization memory memory-management memory-leaks