我需要重构我的项目,以使其免受 OutOfMemory
异常的影响。
我的项目中使用了大量的集合,通过更改一个参数,我可以使程序更精确或使用更少的内存...
好的,那就是背景。我想要做的是循环运行例程:
- 使用默认参数运行子例程。
- 捕获
OutOfMemory
异常,更改参数并尝试再次运行它。 - 执行第 2 点,直到参数允许在不抛出异常的情况下运行子例程(通常只需要更改一次)。
现在,我想测试它。我知道,我可以自己抛出 OutOfMemory
异常,但我想模拟一些真实的情况。
所以主要问题是:
有没有办法为我的程序设置某种内存限制,在达到该限制后,OutOfMemory
异常将自动抛出?
例如,我想设置一个限制,比如整个程序最多使用 400MB 的内存,以模拟系统中可用这么多内存的情况。
这可以做到吗?
MemoryFailPoint(100)
可以检查是否可以执行消耗100MB的操作)。我需要的是检查我的程序已经消耗了多少内存。 - Gacek