Вопрос: Как ограничить ресурсы памяти пользователя «testme», например, пользователь «testme» сможет получить только 100 МБ памяти из системы.
ulimit не сможет достичь этой цели, поскольку ulimit ограничит потребление пользовательской памяти на процесс – в этом случае клиент хотел бы установить квоту памяти «testme» для пользователя равной 100 МБ.
1. Достигнуть простого решения по ограничению ресурсов памяти пользователей – это сделать следующим образом:
# vi /etc/cgconfig.conf
Добавьте в файл следующее содержание:
group memlimit { memory { memory.limit_in_bytes = 104857600; } }
Это создаст cgroup под названием memlimit, где предел составляет 100 МБ
2. Теперь отредактируйте другой файл:
# vi /etc/cgrules.conf
Добавьте туда:
testme memory memlimit/
Это скажет cgroups, что пользовательский testme будет добавлен в memlimit cgroup и сможет брать только 100 МБ из системы.
3. Перезапустите службы cgred и cgconfig и разрешите им запускаться при загрузке с помощью chkconfig:
# service cgred restart # service cgconfig restart
# chkconfig cgred on # chkconfig cgconfig on