JVM記憶體溢位環境備份方法

2021-09-07 18:51:09 字數 358 閱讀 8041

線上tomcat服務記憶體溢位,且不容易重現,又沒配置jmx監控埠,如何在不重啟tomcat的情況下備份堆dump和執行緒dump,進而分析原因?

因為tomcat以服務模式執行,直接用jvisualvm無法找到該程序,直接在命令列視窗下用jmap等命令也不行。

為此需要借助download pstools中的p***ec工具提公升命令列視窗許可權,具體方法如下:

用管理員許可權開啟命令列視窗;

執行p***ec -s cmd,提公升命令列視窗許可權;

通過jps 或直接在任務管理器中找到tomcat程序pid;

執行jmap和jstack工具命令分別備份該程序的堆dump和執行緒dump;

jvm記憶體溢位實踐

參考 深入理解j a虛擬機器 jvm高階特性和最佳實踐 public class heapoom public static void main string args 錯誤資訊提示 j a.lang.outofmemoryerror j a heap space 可以通過mat進行分析定位 exc...

JVM記憶體洩漏和記憶體溢位

相同與不同 如何避免記憶體洩漏 我們用棧來模擬,首先我們定義乙個我們自己的棧,如下圖所示 package com.zhuguang.allen public class stack 入棧 public void push object e 出棧 public object pop 假如沒有在出棧的時...

jvm 記憶體溢位,引發溢位原因排查

jvm 記憶體溢位,引發溢位原因排查 一 dump檔案分析 dump檔案獲取方式 1 設定jvm引數 xx heapdumponoutofmemoryerror xx heapdumppath tmp heapdump.hprof 記憶體溢位時產生dump檔案 2 使用jmap生成dump 檔案 d...