对于任何jvm进程,强制执行线程转储。我相信,在Windows中,可以通过CTRL-BREAK在控制台窗口中完成此操作。
在* nix中,几乎总是“ kill -3 jvm-pid”。
这可能表明您是否有线程正在等待数据库连接池/线程池等。
要检查的另一件事是您当前与JVM有多少连接-使用NETSTAT或SysInternals实用程序,例如tcpconn / tcpview(使用谷歌搜索)。
另外,尝试使用verbose:gc JVM标志运行。对于Sun的JVM,运行方式类似于“ java
-verbose:gc”。这将显示您的垃圾回收。如果收集很多(特别是全收集),则可能是内存泄漏。完整的收藏非常昂贵,尤其是在像这样的大堆上。
您如何确定仅使用了300mb?



