0

我有一個網站項目設置,使用Visual Studio 2012中的IIS Express。啓動後,它慢慢地在我的開發計算機上佔用越來越多的內存。一旦我部署它,它似乎保持相當穩定。顯然有一個內存泄漏的地方,但因爲它似乎沒有發生在現場服務器我不太擔心它,(並經過幾天的嘗試調試它,我仍然沒有找到它。)如何限制IIS Express的內存使用量/強制應用程序池recyle

在我的開發計算機上,如果我忘了在一夜之間關閉它,它會吃掉我係統上的所有內存並開始分頁到磁盤。當我第二天早上進來時,甚至需要很長時間才能殺死它,因爲操作系統也被推入分頁內存,並且非常緩慢。

看着https://technet.microsoft.com/en-us/library/cc745955.aspx上的例子,我想我應該可以強制應用程序池在它碰到3gig使用級別時回收自身,以避免出現問題。

我已經到我的C:\ Users \用戶名\文檔\ IISExpress \設置\ ApplicationHost.config文件並替換第一個應用程序池的下面一節:

<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true"> 
    <recycling> 
     <periodicRestart privateMemory="600000"> 
      <schedule> 
       <clear /> 
      </schedule> 
     </periodicRestart> 
    </recycling> 
</add> 

不幸的是,當我的項目是快樂地運行它超過600,000KB的限制,我試圖在不重新啓動的情況下對它施加限制。我已經嘗試了內存和privateMemory屬性,都無法執行任何操作。

我的項目設置爲使用.NET v4.0集成模式,並通過與Microsoft.Web.Administration混淆我很確定我的配置更改正在調整正確的應用程序池,並且回收設置已加載到我的項目(但我對圖書館很陌生,所以我不完全確定)

回答

0

它被設計成一個開發服務器,因此所有的應用程序池設置都被忽略,並且它作爲單個實例運行。

如果要測試其他Web服務器功能(如應用程序池),則應切換到完整IIS。

相關問題