識別執行緒瓶頸

「執行緒視圖」是用來偵測執行緒瓶頸的主要視圖。它顯示每一個程式執行緒的活動記錄,幫助您識別執行緒競用和死結。

必備條件:收集執行緒資料

當執行緒在等待未備妥的資源時,就會出現競用;這會使程式碼的執行變慢,但這個情況可以隨著時間而消除。

當某個執行緒等待第二個執行緒已鎖定的資源,而且第二個執行緒等待第一個執行緒已鎖定的資源時會發生死結。死結情況會牽涉到兩個以上的執行緒。死結絕對不會自行解決。通常會導致整個應用程式或發生死結的部分中止。

如果要找出執行緒競用和死結︰

  1. 顯示「執行緒視圖」︰用滑鼠右鍵按一下「執行緒分析」側寫資源,然後在蹦現功能表中選取開啟工具 > 執行緒視圖
  2. 在執行緒視圖中,尋找在執行緒之間的垂直箭頭。 單一箭頭指出執行緒競用︰一個執行緒等待另一個執行緒釋放鎖定。多個箭頭可能指出有死結。鑽石形狀的標記指出執行緒正在等待鎖定,但是無法判斷保留鎖定的執行緒。
  3. 將游標停在正在等待鎖定的執行緒區段上面。這會顯示工具要訣,指出鎖定的名稱及識別保留鎖定的執行緒。

以下是競用範例:

「執行緒視圖」影像,含有表示競用的垂直箭頭

以下是死結範例:

「執行緒視圖」影像,含有表示死結的一對垂直箭頭

註: 使用「執行時間分析」側寫類型來側寫程式,可讓您收集和顯示執行緒資料,但僅限於處在「執行中」及「停擺」狀態的執行緒。如果要顯示瓶頸,您必須將「執行緒分析」側寫類型併入側寫集。

下列主題提供控制「執行緒視圖」的指示︰

上層主題: 偵測執行緒瓶頸

相關工作
識別造成執行緒瓶頸的方法

相關參考
執行緒視圖

Terms of use | Feedback
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.