乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      OutOfMemoryException問題的處理...

       karoc 2006-05-12
       
      OutOfMemoryException問題的處理
      Author:chainet From:Cnblogs
      介紹
      我所參與做的產(chǎn)品是一個比較大型的ASP.NET系統(tǒng),在測試部門和客戶那里,如果長時間運行,
      系統(tǒng)常常會出現(xiàn)一些OutOfMemoryException的異常。引起內(nèi)存溢出的錯誤的原因有很多,主要在服務(wù)器配置方面和代碼編寫兩個方面可以進(jìn)行優(yōu)化和改進(jìn),避免此類問題的出現(xiàn),但完全杜絕是比較困難的。下面是我收集整理的一些解決方法。 

      服務(wù)器配置方面

              1.   安裝.NET Framework 1.1 Service Pack 1

      補丁部分解決了一些內(nèi)存泄漏的問題,下載地址為:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38 
              2.   使用更多的內(nèi)存

                      a.打開/3GB Switch(如果你有3GB以上的內(nèi)存)。這個配置只在Windows 2000 Advanced ServerData Center版本以及Windows Server 2003以上才支持,參見:

      http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenetchapt17.asp

      http://support.microsoft.com/default.aspx?scid=kb;en-us;820108

                       b.即使你有很多內(nèi)存,但.NET(注意不是ASP.NET工作進(jìn)程,而是.NET整個使用的內(nèi)存是有一定限制的,可以通過加大配置使用量來減少內(nèi)存溢出的發(fā)生。方法如下:

      修改machine.config文件,一般在 %System%\Microsoft.Net\Framework\v1.1.4322\CONFIG目錄中, 修改processModel元素中的memoryLimit,大于缺省設(shè)置的60(意味著物理內(nèi)存的60%)。

              3. 回收工作線程

      設(shè)置IIS定期清除Work process是避免此異常的一個較好的方式。但這個功能是IIS 6.0(也就是Windows 2003上帶的IIS)才支持。

      配置方法如下:

      修改IIS的應(yīng)用程序池配置,選擇DefaultAppPool(如果你的系統(tǒng)是用這個池),右鍵點屬性->Recycling Setting,然后選擇根據(jù)情況 修改“Recycle worker processes at the following times:‘等幾項配置,其中定時回收工作進(jìn)程是一個比較好的方式,可以避免回收工作進(jìn)程時,引起客戶Session丟失。

      Windows 2000 server 上安裝的是IIS 5.0,本身不支持Recycle,但要想實現(xiàn)這個功能也不難。微軟針對IIS提供的IIS5Recycle便是這樣一個程序,它安裝后以服務(wù)形式提供回收工作進(jìn)程。

      安裝說明見http://support.microsoft.com/?id=322350

      圖片是表示安裝好之后的配置信息! 是不是和IIS6中的一模一樣?


      代碼編寫方面的注意問題 

      1.System.Drawing方面的類使用問題

      System.Drawing用到了很多系統(tǒng)的資源和非托管代碼,所以使用的時候要特別小心,注意內(nèi)存泄漏(Memory Leak)例如:BitMap.MakeTransparent方法的使用問題:

      http://www./247reference/msgs/40/202528.aspx

      2.new byte[]問題

      處理流的時候常常會用到new一個大的byte數(shù)組。但在多用戶情況下會消耗大量的內(nèi)存。正確的做法應(yīng)該是定義一個比較小的byte數(shù)組做為緩存,然后循環(huán)使用。如在我們的程序中,有些地方使用不當(dāng),當(dāng)圖片(或附件)過大或過多的時候, new byte[length]就有可能消耗過多的內(nèi)存。

      3.  避免使用大對象數(shù)組或小對象大數(shù)組

      編程時同樣要重視效率問題(包括內(nèi)存占用問題)。

      4.Com接口調(diào)用是要注意釋放對象。

      Add by : Huobazi (2005-11-17:03:20)

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多