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

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

Даже при том, что это желательное поведение для физических хостов, в моей настройке этот кеш фактически потребляет реальную оперативную память хоста, которая не может быть освобождена от хоста, и вынуждает меня устанавливать относительно небольшое количество оперативной памяти для виртуальных машин (не более чем (16 - кеш хоста) / количество виртуальных машин ). Это весьма нежелательно, поскольку система теряет гибкость, что делает невозможным обработку спорадических запросов ОЗУ от конкретных виртуальных машин.

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

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

1
задан 23 February 2017 в 16:09
1 ответ

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

0
ответ дан 4 December 2019 в 05:10

Теги

Похожие вопросы