<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Hopes

    Start Here..

     

    續(xù) ASP.NET中大型Web應用OutOfMemoryException異常

    相信做ASP.NET中大型Web應用的人都碰到過OutOfMemoryException這個異常,對于這個問題我研究了很久,在微軟的技術文檔上也了解過此問題出現(xiàn)的原因,說實話,到目前我仍然沒有完美的解決方案,這里只是把我處理該問題的一些經(jīng)驗提出來和大家一起分享,盡可能的避免該問題的發(fā)生。

    1) 首先,在硬件的配置上,出現(xiàn)該問題的原因我想很多人已經(jīng)知道了,那就是IIS對于內(nèi)存的管理存在一些限制,普遍的認識是800M的線程內(nèi)存使用上限(通過我的一些客戶實踐證明的確如此,甚至更低...),不管是w3wp還是aspnet_wp,這個限制對ASP.NET應用服務器的機器配置而言其意義是很明顯的,超過2G的內(nèi)存對于單純的Web服務器而言作用是很微小的,所以在Web服務器的配置上可在CPU的數(shù)量方面多考慮。

    2) IIS配置上的方案,IIS5.0可安裝一個IIS5Recycle程序,該程序采用服務的形式來回收工作進程,安裝說明:http://support.microsoft.com/?id=322350,對于IIS6.0可以在應用程序池的配置上設置自動回收工作線程的時間,我一般都會設在凌晨2點:)

    3) 在.NET Framework的配置上,修改machine.config配置文件中的配置節(jié)<processModel>的屬性“memoryLimit”,這個屬性的值默認為“60”,是一個百分比數(shù)據(jù),我們需要按照服務器實際的內(nèi)存數(shù),再根據(jù)800M的上限來設置這個值,那么在達到這個閥值時IIS會自動回收進程

    4) 在Web應用程序的開發(fā)中,必須盡可能的減少對內(nèi)存使用的浪費,及時釋放資源,我想說明的有3點:1、通過代碼主動調(diào)用Dispose方法進行資源釋放,2、對于實體類盡可能復用,不做多余的聲明和創(chuàng)建,3、減少Session的使用,縮短Session的有效期,尤其對于大數(shù)據(jù)對象盡量不要存儲在Session中

    5) 一個比較通用的辦法,在Web應用程序的基類中通過try{}catch{}來主動捕捉OutOfMemoryException異常,發(fā)現(xiàn)該異常后直接調(diào)用GC.Collect()進行強制垃圾回收。

    最后,有很多朋友提到32位系統(tǒng)對于大內(nèi)存使用方面可以打開3G模式,這個本身沒有什么問題,只是根據(jù)個人經(jīng)驗,其對單純Web應用程序的幫助不大,如果Web服務器還有更多的用途當然也建議采用此模式.



    如果您正在 .NET Compact Framework 上進行編程,當沒有足夠的內(nèi)存可用于內(nèi)部用途或新的托管對象時,公共語言運行庫會引發(fā)此異常。要避免此異常,應避免編寫占用 64KB 或更多內(nèi)存的大方法。
    備注
    過多的托管內(nèi)存使用量通常由以下因素造成:
    1 將大型數(shù)據(jù)集讀入內(nèi)存中。
    2 創(chuàng)建過多的緩存條目。
    3 上載或下載大文件。
    4 在分析文件時過多地使用正則表達式或字符串。
    5 過多的視圖狀態(tài)。
    6 會話狀態(tài)中有過多的數(shù)據(jù)或者會話過多。
    當對 COM 對象調(diào)用一個方法,并且該方法返回包含安全數(shù)組(大小不固定的數(shù)組)的用戶定義類型時,可能引發(fā)此異常,并附帶一條額外的消息“存儲空間不足,無法完成此操作”。這是因為 .NET Framework 無法封送帶有安全數(shù)組類型的結(jié)構(gòu)字段。

    REF:

    http://blog.csdn.net/limmo/archive/2007/01/20/1488329.aspx

    http://hi.baidu.com/melovesmile/blog/item/f69efffd2309a085b901a0bb.html

    http://hi.baidu.com/anwyo/blog/item/921e93132e3cf6d3f6039e75.html

    http://www.cnblogs.com/kwklover/archive/2005/05/05/149787.html

    http://www.360doc.com/content/06/1119/16/1_265250.shtml

    IIS:w3wp.exe進程占用cpu和內(nèi)存過多的處理辦法 http://www.cnblogs.com/emanlee/archive/2010/02/06/1664874.html



    posted on 2012-12-14 15:21 ** 閱讀(122) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     

    導航

    統(tǒng)計

    公告

    你好!

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    收藏夾

    C#學習

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 永久免费毛片在线播放| 18禁网站免费无遮挡无码中文 | 亚洲中文字幕无码久久2020 | 国内一级一级毛片a免费| 亚洲色图激情文学| 日韩欧美一区二区三区免费观看 | 亚洲成a人片在线观看日本| 久久免费观看视频| 中文字幕亚洲图片| 成人片黄网站色大片免费观看APP| 亚洲日韩国产一区二区三区| 中文字幕一区二区三区免费视频 | 在线人成免费视频69国产| 亚洲成AV人片在线观看无| 久久免费视频99| 亚洲一区二区三区精品视频| 老司机在线免费视频| 亚洲精品无码久久久久秋霞| 宅男666在线永久免费观看| 天堂亚洲免费视频| 亚洲香蕉网久久综合影视| 成人无码WWW免费视频| 91嫩草亚洲精品| 日本一道高清不卡免费| 人人鲁免费播放视频人人香蕉| 亚洲桃色AV无码| 18禁止看的免费污网站| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲成A人片在线观看中文| 国产免费阿v精品视频网址| 亚洲成A∨人片在线观看无码| 成年男女免费视频网站 | 丝瓜app免费下载网址进入ios| 亚洲gv白嫩小受在线观看| 欧洲黑大粗无码免费| 国产亚洲综合精品一区二区三区| 亚洲乳大丰满中文字幕| 18禁网站免费无遮挡无码中文| 暖暖免费中文在线日本| 亚洲精品中文字幕乱码| 免费又黄又爽又猛的毛片|