Increase vm.max_map_count value
This change aims at increasing the default value of the
- Name: Alessandro Astone
- Email: email@example.com
- Targeted release: Fedora Linux 39
- Last updated: 2023-06-22
- devel thread
- FESCo issue: #2993
- Tracker bug: #2216765
- Release notes tracker: #997
Increase the vm.max_map_count sysctl default value.
The goal is to improve compatibility with Windows games through wine or steam. Read on "Benefit to Fedora" for examples.
It was agreed to set the limit to
1048576, up from the Linux default
This was briefly discussed in #fedora-devel and received positively. Concerns over possible downsides were raised. I am not aware of any, but more input here is desired.
Benefit to Fedora
The following Windows games will work out of the box (through wine or steam):
- DayZ: https://steamcommunity.com/app/221100/discussions/0/3199241400256965913/
- Hogwarts Legacy: https://github.com/ValveSoftware/Proton/issues/6510
- Counter Strike 2 (Beta Windows build): https://www.youtube.com/watch?v=i02n_Ak98TA
- Any other software that might be invoking a lot of mmaps
- Proposal owners: Add the new default to
- Other developers: No work will be necessary unless the new default is found breaking some software
- Release engineering: N/A (not needed for this Change)
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Community Initiatives: N/A
Upgrading to the new Fedora release will seamlessly update the default. No manual intervention is necessary.
How To Test
Temporarily set the new value with
sudo sysctl -w vm.max_map_count=1048576
Run any of the software listed above to verify that it now works.
Or run any other software to verify the change causes no regression.
More Windows games will work out-of-the-box (through wine or steam)
- Contingency mechanism: Revert the shipped configuration
- Contingency deadline: Final Freeze
- Blocks release? No
The default value is currently hard-coded in the kernel, at https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/mm.h?h=v6.2.12#n203 . It cannot be changed through the kernel defconfig, instead it must be set through sysctl.
The default value of the vm.max_map_count sysctl is increased