ASP.NET中的OutOfMemoryException

來源:互聯網
上載者:User

在部落格園看到了一位園友寫的文章《如何處理OutOfMemoryException異常?》,於是想和大家交流一下ASP.NET中出現OutOfMemoryException的問題。

實際上,在ASP.NET Web伺服器上,ASP.NET所能夠用到的記憶體,通常不會等同於所有的記憶體數量。在machine.config設定檔中,配置節<processModel>中有一個屬性“memoryLimit”,這個屬性的值是一個百分值,預設為“60”,即指定了ASP.NET進程(在工作管理員中大家就可以看到ASP.NET的進程,IIS5中為aspnet_wp,IIS6中為w3wp)能夠使用所有實體記憶體的60%。當ASP.NET使用的記憶體量超過這個限額時,IIS會開始自動回收(recycle)進程,即建立一個新的進程去負責應付Http請求,而將舊進程所佔用的記憶體回收。

當我們有一台很大記憶體的伺服器時,“memoryLimit”這個值是需要進行適當的調整的。比如我們準備了一台4G記憶體的伺服器,那麼4G×60%=2.4G。但是,對於Win32作業系統,一個進程所能佔用的所有記憶體空間只有2G。當ASP.NET進程佔用的記憶體開始達到2G時,由於它並沒有達到2.4G的“回收閾值”,所以IIS不會啟動recycle進程操作,但是由於Win32的限制

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.