Intereting Posts
`kill -s TERM` работает,` kill -s ABRT` получает «Операция не разрешена» Мониторинг данных последовательного порта между виртуальными портами Разрешение отклонено при попытке доступа к установленным окнам NFS Как Linux находит правильное расположение программного пакета Linux / compiler-gcc5.h: нет такого файла или каталога Как найти прошивку в Zenbook? zpool указывает, что зоны находятся в режиме SUSPENDED Как узнать максимальное использование памяти для программы, отличной от daemon? Изменение зависимостей systemd во время загрузки Изменение порядка разделов в GParted Почему обновление операционной системы Linux не проблематично? Как заставить Debian 9 обнаруживать сетевое оборудование? grep инвертированное соответствие по строке, удовлетворяющей шаблону Не удается прочитать стандартный файл – блок операций ввода-вывода как использовать awk для вычитания с числами в большом файле

overcommit_memory и overcommit_ration

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

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 ГБ.

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

Настройки vm.overcommit_* регулируют распределение памяти в пользовательском пространстве. Они не влияют на память, которую может выделить ядро. Кроме того, стоимость, которую вы принимаете на 50%, – это физическая память + своп. 47 + 47 = 94. Таким образом, пользовательское пространство может выделять до 47 гб.

В вашем free выпуске показано, что 1gb используется в пользовательском пространстве, а 45gb используется ядром для кэширования. 1gb – более 50% от 94 гб.


Дополнительная коррекция:

vm.overcommit_memory = 2 не позволит превышать память, чем 50% ОЗУ

Этот параметр не позволит полностью перекомпоновать. В сочетании с vm.overcommit_ratio=50 , это позволит пользователям использовать до 50% общей памяти. "commit"! = "overcommit"