tomcat內存泄漏存入dump文件

  不少tomcat進程退出(或者進程假死),都是因爲頻繁的拋出OutOfMemeoryError致使的。java

  爲了讓tomcat退出前或者發生OutOfMemeoryError時自動dump堆棧信息,方便過後排查問題,咱們能夠作以下操做:tomcat

  一、 在tomcat啓動參數中加入兩個參數 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/home/tomcat/domains/server2/oom.hprofdom

  二、 重啓tomcatserver

  參數說明進程

  (1)-XX:+HeapDumpOnOutOfMemoryError 表示當JVM發生OOM時,自動生成DUMP文件。配置

  (2)-XX:HeapDumpPath=存儲文件/目錄 表示生成DUMP文件的路徑腳本

 

//***********************************     完美分割線    *********************************************//di

-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
相關文章
相關標籤/搜索