Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Wtam
Bardzo obiecujaco wygląda interfejs cgroup, odstępny od jakiegoś czasu w kernelu.
W sumie konfiguracja niby banalna, można limitowąć procek|pamięć|priorytet sieciowy bezpośrednio dla każdego procesu z osobna, po protu miód malina.
http://www.mjmwired.net/kernel/Documentation/cgroups.txt
http://en.gentoo-wiki.com/wiki/Improve_responsiveness_with_cgroups
i tylko nie udało mi się wyczaić, jak w cgroups można ustawić, aby wszystkie procesy fork i exec były objęte limitem rodzica.
Dla testu odpalilem basha, pid tego basha dodalem do cgroup jako osobny task, dodalem śmieszny limit cpu.share - 10 (podobno liczone 10/1024 czyli około 1% max) niby wszystko działa.
Ale jak odpaliłem w tym bashu proces cat /dev/urandom >/dev/null, to ten już zajął caly rdzeń procka, co znaczyłoby, że limity dla basha nie rozciagają sie na procesy potomne.
A ja nie wyczytalem w całej dokumentacji, jaką widzialem,
jak ustawić proces w cgroup, żeby automatycznie dany limit objął wszystkie procesy fork i exec, ktrótko pisząc, żeby całe "potomstwo" odziedziczylo limity procesu rodzica.
Czy ktoś nie orientuje się, jak zrobić w cgroup ograniczenie dla grupy procesów, tzn: rodzica, i procesów potomnych, z ustanowionym jednym grupowym limitem cpu czy pamięci?
Aby procesy potomne lądowaly samoczynnie /cgroup/folder/$PID/tasks
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2013-03-31 04:54:12)
Offline
Strony: 1