Как отключить «пейджинг по требованию» для одной из моих программ в пользовательском пространстве? - PullRequest
2 голосов
/ 25 марта 2009

Для отдельного теста я должен отключить «пейджинг по требованию» только для одной из моих пользовательских программ

http://en.wikipedia.org/wiki/Demand_paging

Есть идеи, как я мог это сделать? (встроенное устройство linux; ядро ​​2.6)

1 Ответ

3 голосов
/ 25 марта 2009

Если у вас есть возможность изменить приложение, вы можете использовать системные вызовы mlock() / mlockall(), чтобы гарантировать, что ваша память не выгружается:

#include <sys/mman.h>

mlockall(MCL_FUTURE);

Это предотвратит замену всей памяти, выделенной в данный момент, и будущей памяти, выделенной этому процессу. Вы можете использовать системный вызов mlock() для более точного контроля над тем, какие части памяти заблокированы.

...