Що зробить система з рештою 20%?
Ядро використовуватиме решту фізичної пам’яті для власних цілей (внутрішні структури, таблиці, буфери, кеші тощо). Параметр перевиконання пам’яті обробляє резервування віртуальної пам’яті програми userland, ядро використовує не віртуальну пам'ять, а фізичну.
Чому цей параметр потрібен в першу чергу?
overcommit_ratio
Параметр є вибором реалізації призначена для запобігання додатків резервувати більше віртуальну пам'ять , ніж буде розумно бути доступні для них в майбутньому, тобто , коли вони на насправді доступ до пам'яті (або принаймні спробувати).
overcommit_ratio
Розробники Linux ядра встановили на 50% прийнятне значення за замовчуванням. Він передбачає, що ядро ніколи не буде потребувати більше 50% фізичної оперативної пам'яті. Ваш пробіг може бути різним, і це є причиною зміни.
Чому я не повинен завжди встановлювати його на 100%?
Якщо встановити його на 100% (або будь-яке "занадто високе" значення), не можна надійно відключити перевиконання, оскільки ви не можете припустити, що ядро буде використовувати 0% (або занадто мало) оперативної пам'яті.
Це не запобіжить зриву програм, оскільки ядро все одно може викупити всю необхідну йому фізичну пам'ять.