Увеличиваем vm.max_map_count

ВНИМАНИЕ! Это архивная статья про Debian 12. В Debian 13 (Trixie), как и во многих других дистрибутивах, увеличили значение vm.max_map_count. Яркий пример – новости про изменение в Fedora 39.

Linux отлично подходит для игр. Для некоторых дистрибутивов, тем не менее, нужно изменить пару настроек по умолчанию. Debian 12 Bookworm системно задаёт низкий порог vm.max_map_count, что создаёт проблемы для корректной работы программ.

Memory mapping это не тема для изложения в контексте прикладной задачи, для глубокого понимания лучше обращаться именно к документации ядра.

Есть условность – не все программы одинаково используют память. Для игр иногда можно встретить необходимость больше выделять память, чем обычным приложениям из-за принципов работы игровых движков. Речь именно про количество выделений памяти, а не объём выделенной памяти.

Ещё более актуальна эта проблема для приложений, работающих с большими объёмами данных. Вот документация Elastic с рекомендациями по увеличению значения vm.max_map_count.

Основная проблема именно для игр – нужно сделать увеличение vm.max_map_count вручную. Проверим значение vm.max_map_count на данный момент:

$ cat /proc/sys/vm/max_map_count

65530

Поскольку значение эквивалентно тому, что ядро Linux использует по умолчанию (65530), можно увеличить его временно до следующей перезагрузки системы. Это позволит проверить, действительно ли это нужно и решает ли конкретную проблему. Увеличим vm.max_map_count временно:

$ sudo sysctl -w vm.max_map_count=1048576
$ cat /proc/sys/vm/max_map_count

1048576

Если всё прошло успешно и Вы хотите сделать изменения постоянными, создадим новый файл для авто-применения на старте:

$ sudoedit /etc/sysctl.d/local.conf

Добавим строчки:

# increase default value from 65530 to 1048576
vm.max_map_count=1048576

Сохраняем, перезагружаемся и увидим заветное число 1048576:

$ cat /proc/sys/vm/max_map_count

1048576

Отлично, теперь большинство приложений и игр не должны страдать от низкого значения vm.max_map_count.

Журнал изменений

21 августа 2024 г.: выделил часть про отключение функций UMIP в отдельную заметку.

8 сентября 2025 г.: поместил заметку в архив, добавил информацию про Debian 13.

Если Вы хотите обсудить содержание заметки, задать вопросы или предложить изменения, то со мной можно связаться в Telegram