Назад | Перейти на главную страницу

Ограничьте использование памяти файлового кеша Linux (чтобы избежать исчерпания памяти гипервизора)

У меня есть сервер с 16 ГБ ОЗУ, на котором работает несколько виртуальных машин Linux (около 10), которые выполняют несколько разных задач. Эти машины с конфигурацией по умолчанию будут заполнять память, которую я им даю, кешем по максимуму.

Несмотря на то, что это желательное поведение для физических хостов, в моей настройке этот кеш фактически потребляет реальную оперативную память хоста, которая не может быть освобождена от хоста, и вынуждает меня устанавливать относительно небольшое количество оперативной памяти для виртуальных машин (не более (16 - host cache)/number of vms). Это крайне нежелательно, поскольку система теряет гибкость, что делает невозможным обработку спорадических запросов оперативной памяти от конкретных виртуальных машин.

Единственный подход, который приходит мне в голову, - это ограничить объем оперативной памяти, которую ядро ​​может использовать для кеширования (или сделать так, чтобы срок кеширования истек раньше), но я не нашел никакой документации о том, как это сделать. Большинство сообщений на форуме относятся к linuxatemyram.com или тому подобному, и мне кажется, что в / proc / sys / vm / тоже нет соответствующих параметров.

Может быть, кто-то может предложить какие-то идеи по этому поводу? Я был бы очень благодарен.

Вы можете изменить значение /proc/sys/vm/vfs_cache_pressure на значение больше 100 (значение по умолчанию). Если значение больше 100, ядро ​​предпочитает восстановить дентри и иноды.