我正在尝试分析部署在 Tomcat 中的应用程序的内存使用情况。
当应用程序在 tomcat 中运行时,我需要获取堆转储和线程转储。
任何人都可以让我知道如何从 Tomcat 的终端在 mac 中获取这些转储。
我尝试使用“ps ux | grep apache”获取 tomcat PID,然后执行“kill -3 PID”,但没有任何反应...
最佳答案
这取决于您用来运行 Tomcat 的 JVM。 我强烈建议使用 JDK 运行所有应用程序和服务器(对于您可能使用的 HotSpot)。 那么你手头应该有多个实用程序:
- jps - 用于查找您的 pid
- jstack - 用于获取线程转储
- jmap - 用于获取堆转储。
或者您使用 jvisualvm,它将所有工具捆绑到一个漂亮的用户界面中。 最后但同样重要的是,您可能得到了错误的 PID :-)
关于java - 如何在 Mac 中获取 Tomcat 的堆转储和线程转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387794/