JVM 效能排查 檢視哪個物件占用記憶體大

2022-07-28 22:54:24 字數 684 閱讀 3900

參考:

1.  在ie位址列中輸入:http://localhost/test/init1.jsp,執行一次,我們可以在記憶體檢視中看到cn.test.testbean物件被建立了10000次:

2.標記現在的狀態,然後再執行init1.jsp和,init2.jsp可以讓我們找到哪些類在呼叫後沒有被釋放(很重要!!!)

檢視哪些類被發生了變化:

紅色的變成是發生變化的物件及其數量。

我剛才執行了4次init1.jsp和1次init2.jsp,正好產生了50000個testbean物件,和圖示顯示的一樣。

3.  過一會後,按f4鍵進行垃圾**。但**完成後,這些物件依然存在,說明某些地方對這個類的引用沒有被釋放!

4.  找出是哪些地方使用了testbean類,並且沒有釋放它們

在cn.test.testbean物件上點選右鍵選擇「take heap snapshot for selection」,觀察它的heap

點選「ok」:

在該類中點選右鍵,在出現的選單中選擇「use selected objects」:

出現如下視窗:

選擇」allocations」,點選「ok」,然後我們要的結果就出來了

圖中顯示呼叫此類的地方是init1.jsp和init2.jsp,並且各自占用的比率都列出來了。

既然問題的所在找出來了,接下來就該去解決問題了!

oracle sql效能排查 查詢sql執行時間

找出執行最慢的sql 根據平均耗時大小排序 select a.sql text,a.sql id,a.executions 總執行次數 nvl a.elapsed time,0 1000 1000 總耗時 秒 nvl a.elapsed time,0 nvl decode a.executions,...

JVM 效能優化

最近發現服務cpu消耗不是很穩定,在150 600 之間不停跳動,以前沒有這種情況,check了一下,是old區記憶體不太夠導致每隔一小段時間cms gc了,old區記憶體不夠的主要原因是服務需要載入的資料變多了,使得old區頻繁gc 用 jmap heap pid 可以看到當old區佔比超過92 ...

常見的幾種jvm問題排查

處理過線上問題的同學基本上都會遇到系統突然執行緩慢,cpu 100 以及full gc次數過多的問題。當然,這些問題的最終導致的直觀現象就是系統執行緩慢,並且有大量的報警。本文主要針對系統執行緩慢這一問題,提供該問題的排查思路,從而定位出問題的 點,進而提供解決該問題的思路。對於線上系統突然產生的執...