У меня такая ситуация с памятью в моем debian9.9
root@ghds-prod-3:~# free -m
total used free shared buff/cache available
Mem: 16035 7821 527 7294 7685 648
Swap: 4767 1731 3036
На этом хост-сервере у меня есть гости на KVM + QMEMU
-- vm1
cpu: 1
mem: 512
-- vm2
cpu: 1
mem: 1024
-- vm3
cpu: 1
mem: 1024
-- vm4
cpu: 1
mem: 1024
-- vm5
cpu: 1
mem: 1024
-- vm6
cpu: 1
mem: 1024
-- vm7
cpu: 1
mem: 1024
-- vm8
cpu: 1
mem: 1024
Хорошо. Если я хочу вернуть больше барана новому гостю, произойдут две вещи
Я пытаюсь освободить кеш этим
root@ghds-prod-3:~# /bin/sync; echo 3 > /proc/sys/vm/drop_caches
Но он ничего не делает.
Хорошо, на другом хосте я меняю метод кеширования диска с «none» на «directsync», чтобы хост не кэшировал гостевой диск, но рано знать, работает ли
Если вы используете KVM и хотите перегрузить память, вы можете попробовать включить «слияние одной страницы ядра» (KSM) в ядре Linux на гипервизоре.
В зависимости от (сочетания) гостевых ОС и нагрузки, которую они создают, что может дать вам некоторую свободу действий при чрезмерном использовании памяти
Установите ksmtuned
пакет, который поможет вам настроить и контролировать ksm