識別大量消耗資源的方法
如果方法符合下列狀況,就可以成為最佳化的候選對象:
- 呼叫的次數比所需頻繁。找出呼叫次數較少或是小幅提昇常用方法之效能的方式,
可以提昇效能。
- 執行時間很長。另外,找出執行時間最長的類別,然後將在堆疊中花費很長時間的那些方法最佳化,
也可以提昇效能。這類方法可能不一定需要執行,但可能會呼叫其他方法來執行排序或委派這類作業。
如果要找出經常呼叫的方法,請執行下列動作:
- 請確定您已啟用執行流程資訊的收集功能;您可在啟動或連接要側寫的應用程式時執行這個動作。請選取側寫選項應用程式太慢,然後從「詳細資料」選項中,選取顯示執行流程圖形式詳細資料。
- 在「側寫監視器」視圖中,選取監視器或代理程式。
- 按一下滑鼠右鍵,然後選取開啟工具 > 執行流程。這時會開啟「執行流程」視圖。
- 按一下放大按鈕
來放大一序列的方法呼叫。
- 按一下滑鼠右鍵,然後選取偵測所有重複項目。這時有重複型樣的位置會出現 X。
- 放大那些區域,以察看重複的型樣以及方法重複的次數。
如果要找出執行時間很長的方法,請執行下列動作:
- 啟動或連接特定資源的程序,然後開啟「執行流程」視圖。
附註:您可以從代理程式、程序、主機或監視器來開啟視圖。不過,請瞭解這些資源的資訊有很大不同。比方說,代理程式的「執行流程」視圖會顯示代理程式連接之特定 JVM(Java 虛擬機器)的執行過程。
相對地,選取監視器的視圖則會顯示在所選的監視器之下,具有側寫代理程式之所有 JVM 的執行過程。
- 請注意每一方法線條的長度。線條越長,執行時間就越長。
- 如果要詳細察看方法,請開啟方法統計值視圖,選取方法,按一下滑鼠右鍵,然後選取顯示方法呼叫。
- 如果要察看方法呼叫端的執行時間,請按一下滑鼠右鍵,然後選取顯示方法呼叫。
這個視圖會同標籤行一樣顯示同一方法的表示法。
- 從本端工具列中,按一下顯示呼叫端
,在視圖中察看所選之方法的呼叫端。每次
您按一下這個按鈕,就會顯示一個在呼叫順序中較高的方法。
- 選取方法。所選的區域的垂直長度會指出方法的基本時間。您可以判定這個方法的執行時間,方法為檢查視圖右側的垂直時間刻度。
狀態行會給與您方法的累計時間。
如果要顯示較寬的執行時間視圖,請執行下列動作:
- 開啟「執行流程」視圖:從「側寫監視器」視圖的監視器蹦現功能表中,選取開啟工具 > 執行流程。
- 如同「方法呼叫」視圖一樣,沿著這個視圖的右側也有一個垂直時間刻度。
- 使用放大
按鈕來放大視圖的特定區段,以強調顯示您要檢查的方法。
- 按一下方法名稱(或在它之下的空白)來選取它。強調顯示的區域的垂直長度會指出方法的基本時間。
基本時間的正確值將顯示在狀態行。
- 使用縮小按鈕
來檢視整個程式的較大部分,但仍然可以看到方法強調顯示的區域(也就是說,您仍然可以看到黃色的矩形區域)。
即使看不到整個執行表示法,您仍然可以判斷相對於整個程式,這個方法耗用多少時間。
相關概念
側寫工具總覽
「執行流程」視圖和表格
「統計值」視圖
相關作業
側寫應用程式
啟動或連接 Java 程序
瞭解記憶體回收
分析效能和記憶體的使用狀況 - 總覽
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.