Windows-Server-2003
虛擬記憶體限制,IIS6 中的 60 秒回收
我被要求
Maximum virtual memory (in megabytes)
在 IIS6 中設置設置,並且已啟用預設值 500 MB。從那時起,應用程序池的回收就出現了一些不規律的問題。嗯,它一點也不不穩定,它是每 60 秒一次。監控程序顯示虛擬記憶體遠低於 500 MB。一個簡單的測試,只需點擊站點啟動程序(這將虛擬記憶體設置為大約 30 MB)然後等待,確切地說,60 秒顯示目前程序已回收並啟動了一個新程序。
我可以以小幅度增加這個數字,並且這個過程的生存時間似乎會更長一些。大約 750 MB,症狀完全消失(完全刪除檢查也是如此)。
Maximum used memory
也檢查並設置為預設 192 MB。如果這是一個錯誤,我找不到任何文獻記錄。也許我錯過了一些顯而易見的機制,或者我只是愚蠢。無論如何,我不能只停留在“增加數字就不會出錯”。我必須知道為什麼。
答案是,我很傻。=)
任務管理器是一個窮人的記憶體監視器,我今天顯然已經很好地解決了這個問題。使用性能監視器和程序資源管理器,我可以看到,事實上,我的應用程序池在第一頁命中時獲得了大約 550 MB 的虛擬字節。
我仍然覺得奇怪的是,在應用程序池重新啟動之前我有 60 秒的寬限期,但就這樣吧。希望這個答案能幫助其他犯過我同樣錯誤的人。