robot-ya-builder 96458ea3c7 External build system generator release 65 | 11 months ago | |
---|---|---|
.. | ||
unittests | d28c55ab25 Intermediate changes | 1 year ago |
CMakeLists.darwin-arm64.txt | ffff7a34e4 add darwin-arm64 CMakeLists | 1 year ago |
CMakeLists.darwin-x86_64.txt | d28c55ab25 Intermediate changes | 1 year ago |
CMakeLists.linux-aarch64.txt | d28c55ab25 Intermediate changes | 1 year ago |
CMakeLists.linux-x86_64.txt | d28c55ab25 Intermediate changes | 1 year ago |
CMakeLists.txt | 96458ea3c7 External build system generator release 65 | 11 months ago |
CMakeLists.windows-x86_64.txt | d28c55ab25 Intermediate changes | 1 year ago |
README.md | d28c55ab25 Intermediate changes | 1 year ago |
mlock.h | d28c55ab25 Intermediate changes | 1 year ago |
mlock_linux.cpp | d28c55ab25 Intermediate changes | 1 year ago |
mlock_other.cpp | d28c55ab25 Intermediate changes | 1 year ago |
ya.make | d28c55ab25 Intermediate changes | 1 year ago |
MlockFileMappings подгружает и лочит в память все страницы исполняемого файла.
В отличии от вызова mlockall, функция не лочит другие страницы процесса. mlockall явно выделяет физическую память под все vma. Типичный процесс сначала стартует и инициализирует аллокатор, а потом уже вызывает функцию для mlock страниц. Аллокатор при старте выделяет большие диапазоны через mmap, но реально их не использует. Поэтому mlockall приводит в повышенному потреблению памяти.
Также, в отличии от mlockall, функция может подгрузить страницы в память сразу.