【发布时间】:2011-02-16 11:04:41
【问题描述】:
我需要重构我的项目以使其免受OutOfMemory 异常的影响。
我的项目中使用了大量的集合,通过更改一个参数,我可以使我的程序更准确或使用更少的内存......
好的,这就是背景。我想做的是循环运行例程:
- 使用默认参数运行子例程。
- 捕获
OutOfMemory异常,更改参数,再次尝试运行。 - 执行第 2 点,直到参数允许运行子例程而不会引发异常(通常只需要进行一项更改)。
现在,我想测试一下。我知道,我可以自己抛出OutOfMemory 异常,但我想模拟一些真实情况。
所以主要问题是:
有没有办法为我的程序设置某种内存限制,达到之后会自动抛出OutOfMemory 异常?
例如,我想为我的整个程序设置一个限制,假设为 400MB 内存,以模拟系统中有这么多可用内存时的情况。
可以做到吗?
【问题讨论】:
标签: c# memory-management simulation out-of-memory