我正在尋找一種策略,可以檢測系統即將耗盡內存並使用Application.Restart()重新啓動系統時的策略。預防或預測內存不足異常
WebBorwser控件導致我採用此路由,因爲即使在處理附加到表單上的webbrowser控件後,內存使用情況並沒有減少,並且在任何地方我都看到這是一個IE問題,我們處於他們的擺佈之中。 (雖然我注意到,如果我打開IE瀏覽器,運行相同的網站,內存增加,但當我關閉標籤時,適當減少...)
我不想移動到webkit,因爲watin不兼容,我不打算使用GeckoFX,因爲它不支持javascript或jquery支持,我不打算使用外部瀏覽器實例,因爲嵌入式瀏覽器控件是我的界面設計的一部分。
所以現在我想要做的是創建一個動態檢查可用內存與總內存的方法,並執行重新啓動,當情況變得至關重要,妥善處理GC無法達到的資源,我不能編程如何摧毀。
我相信我可以做到這一點,並從我停止的地方重新啓動我的自動化,然後循環這個守護進程。
任何人都可以幫我弄清楚如何編碼內存檢查?它應該很容易。我發現這個線程,但我遇到了一些麻煩,而不會遇到錯誤......也許另一種方法會更好? How do you get total amount of RAM the computer has?
謝謝你們!我希望這有助於
OOM是關於地址空間,而不是物理RAM。 – CodesInChaos 2012-04-05 22:06:41
讓我想起「select is broken」 – 2012-04-05 22:11:11
那麼你真的在使用一個探查器或者只是在做一個arm-chair內存分析,就像使用任務管理器一樣? – 2012-04-05 22:11:57