Да, есть: заставить программу вызывать функцию VirtualLock :
Страницы, заблокированные процессом, остаются в физической памяти до тех пор, пока процесс не разблокирует их или не завершит работу. Эти страницы гарантированно не будут записаны в файл подкачки, пока они заблокированы.
Я считаю, что функция SetProcessWorkingSetSize также может быть полезна.
Для тех, кто думает, что я еретик, даже предположил, что это может быть полезно:
Обратите внимание, что могут быть веские причины для блокировки страниц в памяти. Действительная причина может заключаться в том, что пользователь запускает устройство записи компакт-дисков, а устройство записи компакт-дисков постоянно выгружает страницы и, следовательно, вызывает переполнение буфера, создавая подставку. В этой ситуации было бы допустимо блокировать буферы памяти, чтобы они не выгружались, даже если это означает, что остальная часть компьютера замедляется для сканирования, потому что это все же лучше, чем предоставить пользователю средство для подкачки. Могут быть и другие веские причины - моя точка зрения такова: хотя обычно не рекомендуется блокировать страницы в памяти, допустимые ситуации все еще существуют, и я не думаю, что уничтожение этой идеи поможет ОП здесь.
Обновление: Посмотрите на Process Hacker «s Reduce Working Set
опции меню.