簡體   English   中英

ASP.NET:w3wp正在使用大量內存,並且該進程沒有響應

[英]ASP.NET : w3wp is using lots of memory and the process is not responding

有人可以給我逐步的指示或以正確的順序指向正確的參考文獻嗎

這樣我才能確定此問題的根本原因?

您可以獲取該進程的內存轉儲,並查看WinDbg。 它將至少為您提供異常列表和線程的當前狀態。 這樣做將回收該過程。 也可以從Visual Studio以遠程調試模式將其附加到QA風格的計算機上。 但是我還沒有這樣做,並且在調試時它會掛起其他所有請求。

如果w3wp在本地運行,則可以右鍵單擊任務管理器中的進程,然后選擇“調試”以查看WinDbg。 否則,您希望在生產/測試計算機上使用諸如Debug Diag之類的東西來創建完整的用戶轉儲。 參見: http : //msdnrss.thecoderblogs.com/2008/05/21/debugdiag-11-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps/

我在二月份做了所有這些,從那以后就不需要了。 由於要獲取WinDbg的符號並為它們的存儲位置配置環境變量,因此逐步進行操作實際上有些痛苦。

有關設置WinDbg以進行ASP.NET檢查的信息,請參見本文: http : //support.microsoft.com/kb/892277

w3wp.exe是與ISS中的應用程序池關聯的進程。 如果您有多個應用程序池,則將運行多個w3wp.exe實例。

欲了解更多信息,請閱讀

w3wp.exe可能由於多種原因而消耗大量內存。

  • 大量處理請求
  • 大量數據吞吐量(例如媒體處理)
  • 內存泄漏
  • 以上任意組合。

如果您懷疑前兩個是問題,則需要擴大系統規模(添加額外的服務器等)。

內存泄漏將導致內存使用率隨着時間逐漸增加。

如果您懷疑內存泄漏,可以考慮采取以下措施。

  • 代碼審查(特別關注靜態對象和事件注冊/注銷)
  • 分析:針對內存泄漏進行分析有時可能是一項艱巨的任務。 在進行概要分析時,請確保您在一段時間內/請求期間收集數據,並檢查是否存在長壽命的物體,並檢查以確保其使用壽命長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM