zoukankan      html  css  js  c++  java
  • tomcat内存泄漏存入dump文件

    很多tomcat进程退出(或者进程假死),都是由于频繁的抛出OutOfMemeoryError导致的。

      为了让tomcat退出前或者发生OutOfMemeoryError时自动dump堆栈信息,方便事后排查问题,我们可以做如下操作:

      1、 在tomcat启动参数中加入两个参数 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/home/tomcat/domains/server2/oom.hprof

      2、 重启tomcat

      参数说明

      (1)-XX:+HeapDumpOnOutOfMemoryError 表示当JVM发生OOM时,自动生成DUMP文件。

      (2)-XX:HeapDumpPath=存储文件/目录 表示生成DUMP文件的路径

     

    //***********************************     完美分割线    *********************************************//

    -XX:+HeapDumpOnOutOfMemoryError

    该配置会把快照保存在user.dir中,比如你用tomcat启动,那应该是在tomcat的bin目录下

    当然,也可以通过XX:HeapDumpPath=./java_pid.hprof来显示指定路径

     此外,OnOutOfMemoryError参数允许用户指定当出现oom时,指定某个脚本来完成一些动作,比如邮件知会。。。

    $ java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof -XX:OnOutOfMemoryError ="sh ~/cleanup.sh" MyApp
  • 相关阅读:
    P1579哥德巴赫猜想
    JAVA快速入门方法
    PHP快速入门方法
    Java 8 lambda表达式
    JVM内存配置参数
    Synchronized 关键字
    数据库事务的理解
    hello world 执行原理
    面试知识点总结之JVM调优
    面试知识点总结之RabbitMQ/Kafka使用场景
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317597.html
Copyright © 2011-2022 走看看