如何使用 「 IIS 偵錯診斷 」 工具來疑難排解 IIS 處理序中的記憶體遺漏

文章翻譯 文章翻譯
文章編號: 919790 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

簡介

當 IIS 處理序會耗用過多的記憶體時,記憶體遺漏可能會發生在 Microsoft 「 網際網路資訊服務 (IIS)。 Inetinfo.exe、 Dllhost.exe 和 W3wp.exe 是 IIS 處理序的範例。IIS 會快取靜態內容和動態內容。 IIS 處理序通常會使用最多 50%的可用實體記憶體。 這個記憶體使用量公制適用於每個 IIS 處理程序的不到所有的 IIS 處理序總數。 若要識別記憶體問題,您可以使用此資訊和效能監視器。

此外,IIS 處理序會耗用過多的記憶體時,可能就會發生下列徵狀:
  • 在 [Windows 工作管理員,記憶體使用狀況 資料行會指出處理程序會耗用過多的記憶體。
  • 在效能監視器中差異會增加 私用位元組 計數器和 虛擬位元組 計數器的 處理程序 物件之間。
  • 在 IIS 6.0 IIS 處理序會使用最多 1.3 GB 的虛擬記憶體。 如果啟用記憶體回收的事件會記錄類似下列的:

    事件類型: 資訊
    事件來源: W3SVC
    事件類別: 無
    事件識別碼: 1077年
    日期: Date
    時間: Time
    使用者: N/A
    電腦: ComputerName
    描述:
    處理序識別碼為 '1234' 伺服應用程式集區 'DefaultAppPool' 的工作者處理序已要求回收,因為它達到其虛擬記憶體限制。

  • 如果未啟用記憶體回收,IIS 處理序使用 1.3 GB 的虛擬記憶體,且最終會停止回應。然後的事件會記錄類似下列的:

    事件類型: 警告
    事件來源: W3SVC
    事件類別: 無
    事件識別碼: 1009年
    日期: Date
    時間: Time
    使用者: N/A
    電腦: ComputerName
    描述:
    伺服應用程式集區 'DefaultAppPool' 的處理序意外終止。處理程序識別碼為 '1234'。處理序結束代碼: '0xc0000005'。

    如需詳細資訊請 http://support.microsoft.com 在參閱 [說明及支援中心]。

  • 在 IIS 5.0 IIS 處理序使用 1.3 GB 的虛擬記憶體,並最後會停止回應。然後的事件會記錄類似下列的:

    事件類型: 錯誤
    事件來源: 服務控制管理員
    事件類別: 無
    事件識別碼: 7031
    日期: Date
    時間: Time
    使用者: N/A
    電腦: ComputerName
    描述:
    IIS 管理服務服務意外終止。 曾完成這 7 的時間。 以下的修正動作將會採取 0 (以毫秒為單位): 沒有任何動作。

    如需詳細資訊請 http://support.microsoft.com 在參閱 [說明及支援中心]。

其他相關資訊

當 IIS 處理序會耗用過多的記憶體,請使用 IIS 偵錯診斷工具的疑難排解造成記憶體遺漏未完成的記憶體配置。 您必須插入 LeakTrack.dll 檔案,然後監視記憶體遺漏。 當遺漏重製,會產生記憶體傾印檔案。記憶體傾印檔案包含記憶體遺漏資訊。

如果要使用 「 IIS 偵錯診斷 」 工具疑難排解 IIS 處理序會耗用過多的記憶體,請依照下列步驟執行。

步驟 1: 下載並安裝 IIS 診斷工具組

從 「 Microsoft 下載中心 」 下載下列檔案有:

32 位元系統的 IIS 診斷工具組

摺疊此圖像展開此圖像
Download
Download the iisdiag.msi package now.

Itanium 型的系統的 IIS 診斷工具組

摺疊此圖像展開此圖像
Download
Download the iisdiag.msi package now.

步驟 2: 設定效能記錄之前發生記憶體遺漏

  1. 按一下 [開始],指向 [程式集]、 指向 IIS 診斷]、 指向 [偵錯診斷工具,然後再按一下 [偵錯診斷工具 1.1]。
  2. 按一下 [工具],然後再按一下 [選項及設定
  3. 按一下 [效能記錄檔] 頁籤,按一下 [啟用效能計數器資料進行記錄,然後再按一下 [確定]
附註資料取樣間隔和時間來開始監視定時再次出現記憶體遺漏。 因為的記錄的大小請確定您使用支援專業人員,取得不含充斥伺服器需要的資訊。

步驟 3: 建立 「 記憶體和控制代碼遺漏"規則

  1. 按一下 [開始],指向 [程式集]、 指向 IIS 診斷]、 指向 [偵錯診斷工具,然後再按一下 [偵錯診斷工具 1.1]。
  2. 在 [規則] 索引標籤上按一下 [新增規則]。
  3. 按一下 [記憶體和控制代碼遺漏,然後按一下 [下一步]
  4. 選取有記憶體] 遺漏的處理序,然後按一下 [下一步]。
  5. 在 [設定追蹤的持續期間] 對話方塊輸入,或從 Warm-Up 時間] 方塊中選取準備時間。

    附註如果問題立即重製,按一下以選取 [開始記憶體啟用規則時,立即追蹤] 核取方塊。
  6. 在 [追蹤時間] 方塊鍵入或選取要重現問題所需的時間]。 請確定已選取 [自動建立當機規則取得 userdump 上未預期的處理序結束] 核取方塊。

    附註指定的時間結尾建立傾印檔案。
  7. 按一下 [下一步],然後再按一下 [完成]

步驟 4: 以手動方式取得資料

  1. 按一下 [開始],指向 [程式集]、 指向 IIS 診斷]、 指向 [偵錯診斷工具,然後再按一下 [偵錯診斷工具 1.1]。
  2. 按一下 [處理程序] 索引標籤,以滑鼠右鍵按一下您想要處理程序,然後再按一下 [遺漏的監視器
  3. 當遺漏重製時,步驟 4b 從處理程序上按一下滑鼠右鍵,然後再按一下 [建立完全 Userdump
附註請注意狀態是作用。此外,Userdump Count 計數器的值會增加建立記憶體傾印檔案的每一次。

步驟 5: 停止記憶體傾印檔案完成之後,登入效能

  1. 按一下 [開始],指向 [程式集]、 指向 IIS 診斷]、 指向 [偵錯診斷工具,然後再按一下 [偵錯診斷工具 1.1]。
  2. 按一下 [工具],然後再按一下 [選項及設定
  3. 按一下 [效能記錄檔] 頁籤,按一下 [停用效能計數器資料進行記錄,然後再按一下 [確定]

步驟 6: 分析記憶體傾印檔案


步驟 7: 如果您使用自訂的.dll 檔案,新增 「 符號搜尋路徑的分析 」 路徑或偵"符號搜尋路徑的錯"路徑

  1. 按一下 [工具],然後再按一下 [選項及設定
  2. 符號搜尋路徑的分析] 方塊,或在 [偵錯的符號搜尋路徑] 方塊中,輸入適當的路徑,然後再按一下 [確定]

屬性

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

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com