This is related to upgrade to Sonarqube 8.8 Requirements Guide
under “Platform Notes”, The prerequisites dictate that
"If you’re running on Linux, you must ensure that:
vm.max_map_count
is greater than or equal to 524288"
Looking into what that setting actually means, I read from the Linux Kernel Documentation
"max_map_count:
This file contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by mmap and mprotect, and also when loading shared libraries.
While most applications need less than a thousand maps, certain programs, particularly malloc debuggers, may consume lots of them, e.g., up to one or two maps per allocation.
The default value is 65536."
When I cross reference this setting with other software such as elasticsearch, I see that the setting has to be higher than 262144 and nothing about an upper threshold.
However, I came across Actian Vector Configuring and Managing Vector which uses a formula:
where map_count should be around 1 per 128 KB of system memory. For example:
vm.max_map_count=2097152
on a 256 GB system.
How was the value for sonarqube determined?
Why won’t the size of my hardware host/VM allocated matter when setting up the prerequisite value?
Are there other considerations I should have for this value? For Example, why not a much higher value if my baseline specs are larger than 64 GB system memory?