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