jvisualvm分析linux環境下jvm記憶體溢出

一.安裝jmap
第一次使用需要安裝jmap指令。
1.安裝openjdk-devel-debug
yum -y install java-1.8.0-openjdk-devel.x86_64
看好是以上指令而不是下面的。
yum install -y java-1.8.0-openjdk-devel-debug
成功後。
2.安裝jmap
yum -y whatprovides '*/jmap'
進入紅框内,如果檢視有jmap,發現安裝成功。
二.使用jmap dump堆日志
檢視所要dump的java程式pid。
ps -ef|grep java
執行以下指令。
jmap -dump:format=b,file=/heap.bin 61718
再在填寫目錄生成heap.bin檔案(與hprof相同),然後就可以使用MAT進行分析了。
三.監控oom
但是這裡有一個問題,當jmap時,應用暫停,這是生産環境不允許的,那麼我們使用記憶體轉儲,當發生oom時,直接将日志轉到硬碟中。
-XX:+HeapDumpOnOutOfMemoryError