我正在使用一个企业应用程序,它是一个搜索和图书门户。我搜索了一个项目并启动了 jconsole 以检查我的本地计算机上的性能,它为每个搜索加载了类,并且在 2-3 次搜索后服务器死了。
我正在使用 jdk1.7 和 tomcat7 服务器。
如何找出每次搜索加载哪些类?
提前致谢。
我正在使用一个企业应用程序,它是一个搜索和图书门户。我搜索了一个项目并启动了 jconsole 以检查我的本地计算机上的性能,它为每个搜索加载了类,并且在 2-3 次搜索后服务器死了。
我正在使用 jdk1.7 和 tomcat7 服务器。
如何找出每次搜索加载哪些类?
提前致谢。
它看起来像一个 OOM 错误,您应该配置您的 JVM 以生成堆转储。例如将这些添加到 java 命令行选项
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/tmp/dumps
并使用诸如http://www.eclipse.org/mat/之类的 heapdump 分析器来了解发生了什么。
最佳,爱德华多
这是你要找的吗?
java -verbose:class
您可以在 CATALINA_HOME\bin\setenv.bat(或 .sh)文件中指定此选项。
例如:
set JAVA_OPTS=-verbose:class
希望这可以帮助。