Чтобы добавлять сообщения и комментарии, .

@schors:
schors

А по какому принципу systemd мигрирует процессы в user-xxx.slice?

@qnikst:
qnikst

Вот с 3.16+ появилась возможность использовать unified-hierarchy, которое в целом выглядит гораздо понятнее и приличнее, чем текущий вариант. Хотя некоторые вопросы остаются. Хорошо хотя бы единый менеджер управления не требуется, хотя требование Capability для управления ресурсами это существенный шаг к нему :/, т.е. видимо все таки если юзер хочет изменять настройки контроллеров, то иметь в системе какой-то менеджер имеющий соотвествующие права придётся.

Надо будет через пару дней перечитать.

@Hawat:
Hawat

А Поттеринг там не собирается все приложения не связанные с системными(или как их называет сам Портянкин systemd-*) в отдельный, независимые контейнеры(в целях обеспечения безопасности и стабильности, как говорится)?

@qnikst:
qnikst

Вопрос, а процесс, который ядро запускает при выходе последнего процесса из иерархии (release_agent) чем-то отличается от обычного? Поскольку я заметил, что я не могу внутри этого процесса записать новый процесс в ту же цгруппу.

Судя по исходникам, лок на цгруппах не стоит:
lxr.free-electrons.com

Судя по выводу ps процесс вполне обычный, но модификация цгрппы через echo $$ > /sys/fs/cgroup/foo/bar/task приводит к invalid argument. замена $$ на 0, тоже не помогает.

Куда можно копать?

P.S. (последний тег, чтобы больше народу скастовать).
P.P.S. я знаю как обойти этот вопрос запустив демона в userspace, но мне не нравится такой вариант.

@sss:
sss

утро всем, подскажите какой толк от /etc/cgrules.conf если приложения даже после его заполнения все идут в дэфолтную группу, или как правильно его испольщовать ?

@qnikst:
qnikst

в openrc-0.12 будет сильно улучшена поддержка cgroups вместе с полноценной поддержкой установки лимитов (ищите в моём блоге, ссылку искать лень) появилась поддержка добивания процессов в цгруппе при остановке сервиса [1]. Для этого нужно добавить в conf.d файл строку:

rc_cgroup_cleanup = 1

и при остановке сервиса все оставшиеся процессы будут добиты. Так же появилась новая команда /etc/init.d/service cgroup_cleanup которая позволяет сделать тоже самое для остановленного сервиса, если при этом какие-то его куски остались живы.

У данного решения есть побочные эффекты, например, если сделать cleanup для sshd, то будут убиты все клиентские сессии, аналогично с апачем, поэтому крайне не рекомендуется включать rc_cgroup_cleanup по умолчанию для всех сервисов (в /etc/rc.conf). Для справки systemd решает подобные проблемы правилами pam, которые переносят юзерские процессы в юзерскую цгруппу и тут вы вправе сделать тоже самое, если кто напишет то сможем добавить правила в wiki, но по умолчанию, они врятли появлятся в openrc.

cast @Elemir , ты ещё что-то с lvm хотел.


[1] github.com

@qnikst:
qnikst

а может быть тут есть тот, кто может ответить на пару простеньких вопросов по цгруппам и их иерархиям, а так же несоотвествию того,
что пишут в /usr/src/linux/Documentation/cgroups.txt и freedesktop.org

@qnikst:
qnikst

чисто из интереса, а у кого-нить reallife опыт тонкой настройки cgroups/cpuset, интересует именно ручной для каких-либо сервисов и процессов, а не в чем-нить типа libvirt.

@qnikst:
qnikst

использование cgroups для user-mode программы для того, чтобы следить за ресурсами (несистемными) выдаваемыми другим программам это норм?

@PCLG:
PCLG

cgroups рулит. Действительно если процесс, который сильно потребляет CPU погрузить в cgroups то его влияние на общую производительност ьможно минимизировать (реально вообще не ощущается загруженность) такого в винде нет.... opennet.ru unix.stackexchange.com

нужна прога + патч ядра (в новых ядрах уже есть)