JVM内存溢出环境备份方法

Posted doit8791

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM内存溢出环境备份方法相关的知识,希望对你有一定的参考价值。

线上Tomcat服务内存溢出,且不容易重现,又没配置JMX监控端口,如何在不重启Tomcat的情况下备份堆dump和线程dump,进而分析原因?

因为Tomcat以服务模式运行,直接用JVisualVM无法找到该进程,直接在命令行窗口下用jmap等命令也不行。

为此需要借助Download PsTools中的PsExec工具提升命令行窗口权限,具体方法如下:

  1. 用管理员权限打开命令行窗口;
  2. 执行PsExec -s cmd,提升命令行窗口权限;
  3. 通过jps 或直接在任务管理器中找到Tomcat进程PID;
  4. 执行JMap和JStack工具命令分别备份该进程的堆dump和线程dump;

以上是关于JVM内存溢出环境备份方法的主要内容,如果未能解决你的问题,请参考以下文章

生产环境JVM内存溢出案例分析|文末送书

生产环境JVM内存溢出案例分析(内有赠书福利)

jvm学习一|jvm内存区域以及内存溢出

jvm MetaSpace内存溢出

JVM内存溢出分析:堆内存溢出+虚拟机+方法区——JVM系列

生产环境-jvm内存溢出-jprofile问题排查