Как убедиться, что файлы с отображением памяти всегда находятся в ОЗУ

StackOverflow https://stackoverflow.com/questions/9340568

  •  27-10-2019
  •  | 
  •  

Вопрос

Можно ли создать файл с отображением памяти для межпроцессной связи с гарантией того, что контент всегда хранится в оперативной памяти и не промывается в файл страницы?

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

Количество оперативной памяти не является проблемой (Windows/64 -бит) - мы просто не знаем, возможно ли помешать системе использовать файл страницы.

Это было полезно?

Решение

Вы, вероятно, ищете VirtualLock функция

Блокирует указанную область виртуального адресного пространства процесса в физическую память, гарантируя, что последующий доступ к региону не будет понести ошибку страницы.

Предостережение Лектор.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top