Мне нужно провести рефакторинг своего проекта, чтобы сделать его невосприимчивым к исключению OutOfMemory
.
В моем проекте используются огромные коллекции, и, изменяя один параметр, я могу сделать свою программу более точной или использовать меньше памяти ...
ОК, это фон. Я хотел бы запустить подпрограммы в цикле:
- Запустить подпрограммы с параметром по умолчанию.
- Перехватите исключение
OutOfMemory
, измените параметр и попробуйте запустить его снова.
- Выполняйте 2-ю точку, пока параметры не позволят запускать подпрограммы без исключения (обычно требуется только одно изменение).
Теперь я хотел бы проверить это. Я знаю, что могу самостоятельно сгенерировать исключение OutOfMemory
, но мне хотелось бы смоделировать некоторую реальную ситуацию.
Итак, главный вопрос:
Есть ли способ установить какой-то лимит памяти для моей программы, после достижения которого автоматически выдается исключение OutOfMemory
?
Например, я хотел бы установить предел, скажем, 400 МБ памяти для всей моей программы, чтобы имитировать ситуацию, когда в системе имеется такой объем памяти.
Это можно сделать?