我需要重构我的项目以使其免于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