Как установить защиту памяти для используемой физической памяти? - PullRequest
0 голосов
/ 10 апреля 2019

В настоящее время я только что проверил MemoryFailPoint, потому что это единственный охранник памяти, который я знаю. Однако в документации упоминается, что это может изменить размер файла подкачки, и простой тест показывает, что это, вероятно, правда, то есть это не тот инструмент, который подходит для моей проблемы:

using (new MemoryFailPoint(10*1024)) // I have 10GB available memory
{
  // memory consuming computation (around 2GB)
}

Это не вызвало никаких исключений - я наблюдал, как диспетчер задач показывает все меньше и меньше памяти, уменьшившись с 10 до 8 ГБ, но все вычисления завершились успешно. Так что это верно для его документации, проблема в том, что это бесполезно для меня.

Есть ли способ установить защиту памяти для фактической физической доступной памяти? Я хотел бы установить предел, выполнить вычисления, и если объем доступной памяти упадет ниже предела, я бы хотел получить исключение. Таким образом, в основном его поведение будет таким же, как у MFP, но работает с реальной памятью без учета подкачки / виртуальной памяти.

Или я неправильно понял, как работает MFP?

Ответ заранее - ожидание обычного OutOfMemory не требуется, мне нужна более надежная программа, чем эта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...