Есть ли возможность предотвратить подкачку для одного процесса?
Этот процесс является базой данных в памяти и не должен быть перемещен в виртуальную память.
все остальные процессы по-прежнему должны быть заменяемыми.
Мне нужно что-то вроде опции «блокировки страниц в памяти» SQL-сервера.
решение1
Если процесс начинает выполнять подкачку, то либо он очень плохо закодирован и не освобождает оперативную память, когда это необходимо, либо на вашем сервере недостаточно оперативной памяти для обработки всех задач, которые он в данный момент выполняет, и вам следует увеличить объем оперативной памяти.
Если это действительно не вариант с точки зрения бюджета или если машина уже на максимальной емкости ОЗУ, вы можете запланировать задачу, которая убивает и перезапускает процесс примерно каждый час (или чаще, если необходимо). Обратите внимание, что это должно быть действительно последним средством и временным решением, поскольку это не совсем решение, а просто обходной путь.
Что касается сути вашего вопроса, то я не знаю способа предотвратить подкачку программы. Это базовое поведение ОС, когда процессу не хватает физической памяти, чтобы использовать ее для предотвращения сбоя машины.