Вот мои текущие настройки:

vm.overcommit_ratio = 50 (default)
vm.overcommit_memory = 2

И текущее использование памяти:

[localhost~]$ free -g
             total       used       free     shared    buffers     cached
Mem:            47         46          0          0          0         45
-/+ buffers/cache:          1         45
Swap:           47          0         47

В соответствии с документацией я понял следующее:

vm.overcommit_memory = 2 не позволит превышать объем памяти, превышающий 50% ОЗУ (as vm.overcommit_ratio is 50) но все же я вижу, что текущее использование памяти составляет 46 ГБ из 47 ГБ.

Я что-то не так понял?

1 ответ1

0

Из вашей документации ссылка:

2 - ядро не выполняет запросы на память, которые складываются во весь объем подкачки плюс процент физической памяти, указанный в /proc /sys /vm /overcommit_ratio

В вашем случае у вас 47 ГБ ОЗУ, 47 ГБ подкачки, а overcommit_ratio - 50, поэтому общий объем используемой памяти может увеличиться до 47+47 * .5 = 70,5 ГБ.

Ваша текущая используемая память составляет 46 ГБ в ОЗУ и 0 ГБ в режиме подкачки, так что всего 46 ГБ, что все еще ниже предела.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .