AlexSm 6d3e410c45 Remove CMakeLists from main (#2032) 7 months ago
..
unittests d28c55ab25 Intermediate changes 10 months ago
README.md d28c55ab25 Intermediate changes 10 months ago
mlock.h d28c55ab25 Intermediate changes 10 months ago
mlock_linux.cpp d28c55ab25 Intermediate changes 10 months ago
mlock_other.cpp d28c55ab25 Intermediate changes 10 months ago
ya.make d28c55ab25 Intermediate changes 10 months ago

README.md

mlock

MlockFileMappings подгружает и лочит в память все страницы исполняемого файла.

В отличии от вызова mlockall, функция не лочит другие страницы процесса. mlockall явно выделяет физическую память под все vma. Типичный процесс сначала стартует и инициализирует аллокатор, а потом уже вызывает функцию для mlock страниц. Аллокатор при старте выделяет большие диапазоны через mmap, но реально их не использует. Поэтому mlockall приводит в повышенному потреблению памяти.

Также, в отличии от mlockall, функция может подгрузить страницы в память сразу.