我需要重構我的項目以使其免於OutOfMemory
異常。如何模擬OutOfMemory異常
有在我的項目,並通過改變一個參數,我可以讓我的計劃,以更準確或使用較少的內存使用巨大的收藏品...
OK,這是背景。我想要做的是在循環中運行例程:
- 使用默認參數運行子例程。
- 捕獲
OutOfMemory
異常,更改參數並嘗試再次運行它。 - 做第二點,直到參數允許運行子例程而不引發異常(通常,只需要一個更改)。
現在,我想測試它。我知道,我可以自己拋出OutOfMemory
例外,但我想模擬一些真實情況。
所以今天的主要問題是:
有沒有設定某種形式的內存限制我的程序的方式,達到其OutOfMemory
異常將被自動拋出後?
例如,我想設置一個限制,假設我的整個程序有400MB的內存來模擬系統中存在如此大量內存的情況。
可以這樣做嗎?
嗯,我甚至不需要將它與系統內存進行比較,我只需要知道我的程序使用了多少MB的RAM。我需要閱讀GC的文檔...謝謝! – Gacek 2010-05-06 15:47:01
好的...既然你在尋找OutOfMemoryException,我想你爲了達到最佳性能的目的而在某個時間點用完了。但是,嘿,如果GC方法適合你,很酷! – Dave 2010-05-06 15:51:26
嗯,我想我可以使用GC方法並在達到一定限度後自行拋出異常。也許一些背景工作者......我需要測試它是否會起作用。 – Gacek 2010-05-06 15:55:04