在 Tomcat 运行 OutOfMemory 时获取堆转储
Get the heap dump when Tomcat runs OutOfMemory
我想获取 hprof 文件(转储)来分析 OOME。
应用程序部署在 tomcat,它是 运行 作为 windows 服务。我用这个 link 来更改我的 catalina.bat
文件,还尝试放置一个 setenv.bat
文件。
然后我在应用程序中手动生成内存不足。
我可以看到应用程序内存不足,但从未创建转储,我在这里遗漏了什么吗?
然而在我的本地开发环境中,当我使用 jvisualvm
创建转储时,转储已成功创建。
我尝试了很多东西,最后我发现当 tomcat 服务作为服务启动时 tomcat.exe
设置环境变量 catalina.bat
将没有效果,为此 tomcat 提供了 tomcat7w.exe
这存在于 /bin
目录中。
但是在将 tomcat 配置为 windows 服务时,您将该服务的名称更改为 fooBar
然后您需要将 tomcat7w.exe
重命名为 fooBarw.exe
然后可以在控制台配置不同的变量window.
我想获取 hprof 文件(转储)来分析 OOME。
应用程序部署在 tomcat,它是 运行 作为 windows 服务。我用这个 link 来更改我的 catalina.bat
文件,还尝试放置一个 setenv.bat
文件。
然后我在应用程序中手动生成内存不足。
我可以看到应用程序内存不足,但从未创建转储,我在这里遗漏了什么吗?
然而在我的本地开发环境中,当我使用 jvisualvm
创建转储时,转储已成功创建。
我尝试了很多东西,最后我发现当 tomcat 服务作为服务启动时 tomcat.exe
设置环境变量 catalina.bat
将没有效果,为此 tomcat 提供了 tomcat7w.exe
这存在于 /bin
目录中。
但是在将 tomcat 配置为 windows 服务时,您将该服务的名称更改为 fooBar
然后您需要将 tomcat7w.exe
重命名为 fooBarw.exe
然后可以在控制台配置不同的变量window.