Нашел костыль в доке Docker — надо просто запустить коллектор на каждого юзера и там его и оставить: docs.docker.com
Нашел костыль в доке Docker — надо просто запустить коллектор на каждого юзера и там его и оставить: docs.docker.com
Надо будет через пару дней перечитать.
Судя по исходникам, лок на цгруппах не стоит:
lxr.free-electrons.com
Судя по выводу ps процесс вполне обычный, но модификация цгрппы через echo $$ > /sys/fs/cgroup/foo/bar/task приводит к invalid argument. замена $$ на 0, тоже не помогает.
Куда можно копать?
P.S. (последний тег, чтобы больше народу скастовать).
P.P.S. я знаю как обойти этот вопрос запустив демона в userspace, но мне не нравится такой вариант.
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
что пишут в /usr/src/linux/Documentation/cgroups.txt и freedesktop.org