文章編號: 258833 - 上次校閱: 2004年7月13日 - 版次: 1.4

如何疑難排解 MTS 或 COM + 程序的高 CPU 使用率

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

結論

當 Microsoft 交易伺服器 (Mtx.exe) 或 COM + (Dllhost.exe) 處理程序會在效能監視器中, 顯示高 CPU 使用率上升為 100%的 CPU 使用狀況本文章可協助您擷取處理序傾印和效能監視器記錄您可以用它來比較的處理序傾印,以協助找出問題所在。您可以分析傾印,請連絡 Microsoft 支援專業人員或使用 WinDbg 工具 (請參閱本文的 〈 參考 〉 一節,以取得詳細資訊)。

其他相關資訊

要擷取處理序傾印和效能監視器記錄以,請依照下列步驟執行:
  1. 在 [開始] 功能表上指向 [程式集],指向 [系統管理工具,然後再按一下 [效能監視器]。
  2. 按一下工具列的 [加號 (+)] 按鈕。在 [新增圖表] 對話方塊選取 [所下的項目]:
    物件 = 程序
    計數器 = %處理器時間
    計數器 = 識別碼處理程序
  3. 執行個體] 清單按一下 系統上的所有處理序,按一下 [新增],然後再按一下 [完成]。
  4. 若要反白顯示消耗大部分 CPU 的電腦上正在執行 Microsoft Windows NT 4 的程序一次按下退格鍵鍵]。在 Microsoft Windows 2000 電腦上按一下在工具列上的 [燈泡] 按鈕。在圖形上的白色中會出現所選的計數器。
  5. 使用方向鍵來尋找消耗大部分的 CPU 的處理序。請注意處理程序名稱和處理序識別碼。
  6. 按下 DELETE 鍵以從圖表中移除其他不相關的計數器。
  7. 按一下 [效能監視器] 工具列的 [加號 (+)] 按鈕。在 新增至 [圖表] 對話方塊中,選取下列項目:
    物件 = 往來文章
    計數器 = %處理器時間
  8. 執行個體] 清單按一下 所有執行緒 的所述的程序執行個體 (在 Windows NT 4 MTX.exe) 和 Dllhost.exe 在 Windows 2000 中,按一下都 [新增],然後再都按一下 [完成

    這將會如下所示:
    - dllhost/0
    - dllhost/0#1
    - dllhost/1
    - dllhost/1#1
    ...
    						
    在號碼後 '/' 是執行緒數。在 '#' 之後數是處理程序執行個體數目 (您可能有一個以上的 dllhost)。您要尋找的執行緒應該有與您在步驟 5 中找到相同的處理序數量。
  9. 使用方向鍵來尋找消耗大部分的 CPU 的執行緒,並注意它是哪一個執行個體。
  10. 按一下 [效能監視器] 工具列的 [加號 (+)] 按鈕。在 新增至 [圖表] 對話方塊中,選取下列項目:
    物件 = 往來文章
    計數器 = 識別碼執行緒
    執行個體 = 的前一個步驟中所記下執行緒的執行個體。
  11. 按一下 [新增],然後按一下 [完成]。
  12. 請注意最後一次讀取的 ID Thread,並結束效能監視器。
  13. 在系統上安裝 UserDump。
  14. 在命令提示字元中輸入下列命令,若要變更到 Userdump 資料夾的資料夾:
    userdump [所述的處理序識別碼]
如果您需要查閱 Microsoft 支援專業人員,郵遞區號 [Userdump,並排列要傳送下列資訊:
  • Windows NT 服務套件
  • Microsoft 資料存取元件 (MDAC) 版本 (如果有的話)
  • Microsoft 分散式交易協調器 (MS DTC) 版本
  • 高 CPU 使用率的執行緒識別碼
  • SQL 版本和服務打包 (如果有的話)
  • 先知版本、 用戶端版本和網路程式庫版本 (如果有的話)
  • 任何其他的補充程式或目前使用的 Hotfix
  • 符號自訂或協力廠商元件的檔案 (如果有的話)

?考

如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
250509? (http://support.microsoft.com/kb/250509/EN-US/ ) XADM: 如何使用 Userdump.exe 擷取的資訊儲存庫狀態
281630? (http://support.microsoft.com/kb/281630/EN-US/ ) 如何設定 IIS、 MTS,或 COM + 中執行的 Visual Basic DLL 專案屬性
如需有關 Windows 偵錯工具的詳細資訊,請參閱下列 Microsoft 網站]:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx)

這篇文章中的資訊適用於:
  • Microsoft Transaction Services 2.0?應用於:
    • Microsoft Windows NT 4.0
  • Microsoft COM+ 1.0
關鍵字:?
kbmt kbbug kbdebug kbhowto KB258833 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:258833? (http://support.microsoft.com/kb/258833/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。