LINUX: как заблокировать страницы процесса в памяти

У меня на сервере LINUX запущен процесс с большим объемом памяти (своего рода механизм базы данных). Память, выделенная этим процессом, настолько велика, что ее часть должна быть выгружена (выгружена).

Я хотел бы заблокировать страницы памяти всех других процессов (или подмножество запущенных процессов) в памяти так, чтобы выгружались только страницы процесса базы данных. Например, я хотел бы убедиться, что я могу продолжать удаленно подключаться и контролировать машину, не затрагивая процессы подкачки. То есть Я хочу, чтобы в sshd, X, top, vmstat и т. Д. Все страницы памяти были резидентными.

В Linux есть системные вызовы mlock (), mlockall (), которые, кажется, предлагают правильную ручку для закрепления. К сожалению, мне кажется, что мне нужно сделать явный вызов внутри каждого процесса и не могу вызвать mlock () из другого процесса или из родительского процесса (mlock () не наследуется после fork () или evecve ()).

Любая помощь очень ценится. Виртуальная пицца & пиво предлагалось :-).

Ответы на вопрос(4)

Ваш ответ на вопрос