Help and Support

文章編號: 919790 - 上次校閱: 2009年2月8日 - 版次: 4.1

如何疑難排解記憶體遺漏的 IIS 處理序中使用 IIS Debug Diagnostics Tool

在此頁中

全部展開 | 全部摺疊

簡介

當 IIS 處理序會消耗過多的記憶體時,記憶體遺漏 (Memory Leak 可能會發生 [Microsoft Internet Information Services (IIS) 中]。 Inetinfo.exe、 Dllhost.exe 中和 W3wp.exe 都的 IIS 處理序。 IIS 快取,靜態內容 」 和 「 動態內容。 執行的 IIS 處理序通常會使用最多 50 %可用的實體記憶體。 此記憶體使用量的計量與有關每個 IIS] 程序不會以所有的 IIS 處理序總數。 您可以使用這個資訊 」 和 「 效能監視器,來識別記憶體問題。

此外,IIS 處理序會消耗過多的記憶體時,會可能會出現下列徵狀:
  • 在 [Windows 工作管理員中, 記憶體使用量 的資料行表示處理程序會消耗過多的記憶體。
  • 在效能監視器,差異會增加 私用位元組 計數器和 Virtual Bytes 計數器的 處理序 物件之間。
  • 在 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' 處理序 ID。 '0xc0000005' 處理序結束碼。

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

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

    事件類型: 錯誤
    事件來源: 服務控制管理員
    事件類別: 無
    事件識別碼: 7031
    日期: Date
    時間: Time
    使用者: N / A
    ComputerName 的電腦:
    說明:
    IIS Admin Service 服務意外終止。 它已經完成這 7 次。 下列修正動作會將帶 0 (以毫秒為單位): 不執行任何動作。

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

其他相關資訊

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

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

步驟 1: 下載並安裝 IIS Diagnostics Toolkit

從 Microsoft 下載中心 」 下載下列檔案可:

適用於 32 位元系統的 IIS Diagnostics Toolkit

摺疊此圖像展開此圖像
Download
Download the iisdiag.msi package now. (http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&DisplayLang=en)

IIS Diagnostics Toolkit for Itanium-based Systems

摺疊此圖像展開此圖像
Download
Download the iisdiag.msi package now. (http://www.microsoft.com/downloads/details.aspx?FamilyID=13c1c5e5-592c-45bc-b5bb-c486b43eb539&DisplayLang=en)

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

  1. 按一下 [開始] ,依序指向 [程式集] 及 [ 指向 IIS Diagnostics ,指向 [ 偵錯診斷工具 ,然後再按 偵錯診斷工具 1.1
  2. 按一下 [ 工具 ],依序及 [ 選項] 及設定
  3. 按一下 [ 效能記錄檔 ] 索引標籤、 [ 啟用效能計數器資料記錄 ,],及再按一下 [確定]
請注意 資料取樣間隔和時間,開始監視定時記憶體遺漏會再次出現。 記錄的大小有鑑請 [確定您使用支援專業人員取得您需要不拖累伺服器的資訊]。

步驟 3: 建立一個 「 記憶體及處理遺漏 」 的規則

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

    請注意 如果立即重現問題,請按一下以選取 開始追蹤規則就會啟動時,立即的記憶體 ] 核取方塊]。
  6. 追蹤時間 ] 方塊中,請型別,或選取所需重現問題的時間]。 請確定已選取 [ 自動建立當機規則以取得發生未預期的處理序上 userdump 結束 ] 核取方塊。

    請注意 指定的時間結尾被建立傾印檔案。
  7. 按一下 [下一步] ,然後按一下 [ 完成]

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

  1. 按一下 [開始] ,依序指向 [程式集] 及 [ 指向 IIS Diagnostics ,指向 [ 偵錯診斷工具 ,然後再按 偵錯診斷工具 1.1
  2. 按一下 [處理程序] 索引標籤,用滑鼠右鍵按一下您要處理序],然後再按一下 [ Monitor For 遺漏
  3. 時,會再次出現遺漏,用滑鼠右鍵按一下步驟 4b,從處理序,,然後按一下 [ Create Full Userdump
請注意 請注意狀態會是作用中。 此外, Userdump 計數 計數器值會增加每次時,會建立記憶體傾印檔案。

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

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

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


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

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

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

文章翻譯

 

Related Support Centers