Что будет делать система с оставшимися 20%?
Ядро будет использовать оставшуюся физическую память для своих собственных целей (внутренние структуры, таблицы, буферы, кэши и т. Д.). Параметр overcommitment памяти обрабатывает резервирование виртуальной памяти пользовательского приложения, ядро использует не виртуальную, а физическую память.
Почему этот параметр требуется в первую очередь?
overcommit_ratio
Параметр является выбором реализации предназначена для предотвращения приложений резервировать больше виртуальную память , чем будет разумно быть доступны для них в будущем, то есть , когда они на самом деле доступ к памяти (или по крайней мере попытаться).
Установка overcommit_ratio
на 50% считается разумным значением по умолчанию разработчиками ядра Linux. Предполагается, что ядру никогда не потребуется использовать более 50% физической памяти. Ваш пробег может варьироваться, причина, по которой он настраивается.
Почему я не всегда должен устанавливать его на 100%?
Установка его на 100% (или любое «слишком высокое» значение) не может надежно отключить чрезмерную загрузку, поскольку вы не можете предполагать, что ядро будет использовать 0% (или слишком мало) ОЗУ.
Это не предотвратит сбой приложений, поскольку ядро может в любом случае выгружать всю физическую память, которая ему требуется.