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

Принуждение пользователя к использованию пространства подкачки после определенного использования памяти (с помощью limits.conf?)

У меня есть бэкэнд-приложение, которое внутренне используется разработчиками, размещенное на нашем сервере, однако приложение, к сожалению, требует использования Passenger и Ruby, оба из которых очень требовательны к памяти.

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

Итак, вопрос в том, есть ли способ заставить процесс / пользователя (этот процесс запускается под определенным пользователем) максимально использовать пространство подкачки? Я думаю, что limits.conf может работать, но я не хочу, чтобы он выдавал ошибки Out of Memory, просто переключитесь на файл подкачки.

Вы должны взглянуть на cgroups (Контрольные группы). Есть некоторая информация о специальном cgroups, который также говорит

Обратите внимание, что ограничение памяти применяется только к использованию ОЗУ - как только задачи достигнут этого ограничения, они начнут менять местами.

что, кажется, именно то, что вы хотите.


Если ваше бэкэнд-приложение разработчика вызывает боль у ваших фронтальных приложений, вероятно, будет хорошей идеей переместить бэкэнд-материалы на собственный сервер.