天天看點

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

目錄

1. 要求

2. 處理思路

2.1 JForum環境配置 (配置在tomcat中)         

3. 示例示範 (win10環境中)

3.1 環境工具:

3.2 操作步驟

3.2.1 JForum環境配置 (配置在tomcat中),啟動Tomcat         

3.2.2 編寫JMeter腳本

3.2.3 執行腳本定位問題

3.2.4 通過Process Explorer軟體,檢視程序情況,找到占用記憶體高的程序的pid

3.2.5 使用指令生成.dump檔案: jmap -dump:format=b,file=${fileName}.dump $pid

3.2.6 在MAT軟體中打開.dump,分析,定位問題

1. 要求

通過JMeter腳本,壓測JForum,進行CPU和記憶體診斷

2. 處理思路

2.1 JForum環境配置 (配置在tomcat中)         

(1)下載下傳classes.7z

(2)将解壓出來的classes檔案替換原來老的classes.

   路徑為: ${TOMCAT_HOME}\webapps\jforum-1.1.9\WEB-INF\classes

 (3)啟動Tomcat

2.2 編寫并運作JMeter腳本:腳本要求:通路随機闆塊 和 最新主題, 3個并發線程

2.3 jmap生成.dump檔案

2.4 在MAT中打開.dump檔案,解析并定位問題

3. 示例示範 (win10環境中)

3.1 環境工具:

(1)win10

(2)apache-tomcat-7.0.86 (内置Jforum)

(3)jforum-2.1.9 (已導入相關資料庫sql檔案,将配置在tomcat中)

(4)classes.7z (提前準備好的檔案,将替換jforum目錄下原始的class)

(5)JMeter (用來生成執行通路Jforum頁面的腳本)

(6)mat (MemoryAnalyzer.exe,用來打開dump檔案)

3.2 操作步驟

3.2.1 JForum環境配置 (配置在tomcat中),啟動Tomcat         

(1)準備好apache-tomcat-7.0.86,解壓即可,不用安裝

(2)将jforum-2.1.9(已導入相關的sql資料庫檔案),拷貝到tomcat目錄下

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

(3)下載下傳classes.7z (提前準備好的),将解壓出來的classes檔案替換原來老的classes.

   路徑為: ${TOMCAT_HOME}\webapps\jforum-1.1.9\WEB-INF\classes

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

 (4)啟動Tomcat

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)
性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

(5)在浏覽器端通路Jforum相關頁面

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

3.2.2 編寫JMeter腳本

腳本要求:通路随機闆塊 和 最新主題, 3個并發線程

(1)啟動JMeter

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)
性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

(2)編寫JMeter腳本:通路随機闆塊 和 最新主題, 3個并發線程

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)
性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)
性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

3.2.3 執行腳本定位問題

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

3.2.4 通過Process Explorer軟體,檢視程序情況,找到占用記憶體高的程序的pid

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

3.2.5 使用指令生成.dump檔案: jmap -dump:format=b,file=${fileName}.dump $pid

如下,生成12780.dump檔案。

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)
性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)

3.2.6 在MAT軟體中打開.dump,分析,定位問題

性能診斷定位之記憶體問題排查(三):win10系統中,JVM記憶體診斷1. 要求2. 處理思路3. 示例示範 (win10環境中)