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

Можно ли использовать cgclassify с управлением ресурсами на основе systemd?

Итак, начиная с redhat / centos 7, управление системными ресурсами подверглось серьезной переработке. До redhat / centos 7 контрольные группы запускались с использованием пакетов libcgroup и демонов, таких как cgred.

Раньше, если я хотел переместить процесс в cgroup, я мог сделать что-то вроде:

cgclassify -g cpu:some_cgroup <pid>

Однако, исследуя подход systemd к управлению ресурсами, я нашел статьи, в которых говорилось, что пакеты libcgroup устарели и в основном не будут работать с redhat / centos 7.

Если cgclassify все еще должен работать, я не понимаю, как я буду использовать его для перемещения процессов, потому что на самом деле больше нет именованных cgroups, а скорее срезов / областей / служб.

Предполагая, что у меня есть зарегистрированный пользователь с uid 1111, я создал некоторые правила для ограничения ресурсов в systemd, следующая команда не работает для перемещения процесса в их пользовательский сегмент:

cgclassify -g cpu:user-1111.slice <pid>

Есть ли здесь соглашение, которое мне не хватает?

Я также видел, что есть systemd-run команда, которая почти делает то, что я хочу, но нет возможности полностью передать ей каждую текущую переменную среды, о чем вам даже не нужно беспокоиться cgclassify. Вы можете передавать переменные среды, но для фактической передачи всех переменных вам буквально нужно иметь запись для каждой переменной, передаваемой с помощью команды, которая позволяет передавать переменные среды.

Кто-нибудь задумывался о том, как заставить cgclassify работать, или даже просто изменить подход, который я могу предпринять?