
Я использую виртуальную машину Ubuntu с 8 ГБ оперативной памяти и контейнерами Docker (8 ГБ как раз достаточно для моих нужд), но в какой-то момент виртуальная машина зависает/выходит из строя из-за нехватки памяти, и мне не остается ничего другого, как выключить/сбросить виртуальную машину.
Существует ли конфигурация системы, которую можно сделать/добавить так, чтобы памяти всегда было достаточно для работы ОС без зависаний?
решение1
Вам необходимо внутри ОС вашей виртуальной машины:
для адаптации параметров конфигурации всего, что вы запускаете, чтобы гарантировать, что они используют минимальный объем памяти... (это зависит от каждой службы/программы)
Вам, вероятно, также нужно использовать правильные настройки для его "OOM Killer" (OOM здесь означает Out Of Memory), то есть часть ядра, которая будет убивать процессы (иногда не тот!) в зависимости от некоторой эвристики. Смотрите, например:Как OOM killer решает, какой процесс завершить первым?
и предоставление ему возможности подменять память при необходимости (и настройка его «правильным образом») поможет (и должна использоваться ОС вашей виртуальной машины, прежде чем выбирать «крайнее средство» OOM)