-
Notifications
You must be signed in to change notification settings - Fork 567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add vm.max_map_count to startup checks #17078
Comments
It's already part of the startup checks: crate/server/src/main/java/org/elasticsearch/bootstrap/BootstrapChecks.java Lines 398 to 418 in 299f276
|
Whoops, didn't mean to close. It would also help to know what the actual configurated value was and how much they had to increase it to resolve it. |
Summoning @romseygeek who was also on the same call, do you happen to remember? (And if not, do you mind just asking the customer in the Slack channel. I'm happy to do it just trying to remove an unnecessary back and forth.) I failed to google it, so just asking here: what is our max file size for the lucene index files? It seems like we are trying to ensure a node can hold and mmap enough files so that 4GB * "enough files" = about 10 TB? (Enough files = 262144). |
Also noting while waiting for response to the previous: We also at some point suspected vm.overcommit_memory to be the culprit, but concluded it was not. Just noting it for the record. (Given that map_max_count was already checked...) |
The number of mappings depends on the number of segments and their size. So in an ideal scenario:
Caveat that you need to subtract quite a bit from that for other files, and more importantly because not all segments will have their max sizes depending on how merges are going on the system. Merges can require additional files. And the mapping is also not a clear 1:1. Could be that you end up with 2 mapped files per segment. Or if transparent huge pages are enabled it's the other way around. But it should still be plenty to handle the typical hardware setup. |
IIRC because they had created completely new installs, it was set to the system default of 65530; they had updated the value to 262144 in the various conf files but hadn't restarted the node, so the new value hadn't taken. Possibly this means that |
Small correction, GiB not GB.
If it was changed via |
Problem Statement
CrateDB has a user friendly feature where it will check various ulimit settings and log an error if they are not changed to meaningful scalable database-in-production values. Recently we had a case where we would hit failures due to too low vm.max_map_count. For some reason this wasn't caught in the startup checks.
Possible Solutions
Add vm.max_map_count to the startup checks already done to other ulimit or other configuration.
Considered Alternatives
No response
The text was updated successfully, but these errors were encountered: