我正在尝试分析部署在 Tomcat 中的应用程序的内存使用情况。
当应用程序在 tomcat 中运行时,我需要获取堆转储和线程转储。
任何人都可以让我知道如何从 Tomcat 的终端获取这些转储文件。
我尝试使用“ps ux | grep apache”获取 tomcat PID,然后执行“kill -3 PID”,但没有任何反应......
我正在尝试分析部署在 Tomcat 中的应用程序的内存使用情况。
当应用程序在 tomcat 中运行时,我需要获取堆转储和线程转储。
任何人都可以让我知道如何从 Tomcat 的终端获取这些转储文件。
我尝试使用“ps ux | grep apache”获取 tomcat PID,然后执行“kill -3 PID”,但没有任何反应......
这取决于您用来运行 Tomcat 的 JVM。我强烈建议使用 JDK 运行所有应用程序和服务器(如果是 HotSpot,您可能会使用它)。那么你手头应该有多个实用程序:
或者您使用 jvisualvm 将所有工具捆绑到一个漂亮的 ui 中。最后但并非最不重要的一点是,您可能得到了错误的 PID :-)
执行 kill -3 PID 后,Apache Tomcat 的 PID 进程 id ,线程转储将写入 /tomcat/logs/catalina.out