@@maxprzemo
Jak chcesz używać Cgroup, to potrzebne moduły wbuduj na stałe w kernel, działają wtedy idealnie, i nie musisz żadnych modułów ręcznie przenosić.
Na Andku kernela jeszcze nie kompilowałem, ale na linuxie setki razy, od 2010 i jajka 2.6.34 mam tylko kompilowane kernele z różnymi łatkami.
zgrep -i cgroup /proc/config.gz
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_CGROUP_WRITEBACK=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
Narzędzia z libcgroup się sprawdzają, ale cgroup da się też używać bez tej biblioteki, także na Andka można naskrobać jakieś inne rozwiązanie.
Przy okazji, kiedyś, jak Andkowe fony miały 0,5 GB ram cgroup się rzeczywiście nie przydał, ale teraz średnia półka celuje w 2GB, a topowe w 4GB, także już jest co dzielić. 😉
Sam mam PieCa z 4GB RAM, i Cgroup się spisuje elegancko, podobnie jak Apparmor, Grsecurity i Pax.
W przypadku standardowego desktopa na Linuxie moduł:
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
to najprostszy sposób filtrowania outputu per/program (kiedy XX programów chodzi w jednej sesji użyszkodnika).
Tylko teraz pewnie pierdylion plików trzeba skonfigurować żeby to ruszyło a do tego nie mam głowy 🙂
Nie pierdylion, tylko dwa pliki konfiguracyjne /etc/cgconfig.conf i /etc/cgrules.conf (to w Linuxie).
Ja np mam tylko /etc/cgrules.conf skonfigurowany, a grupy zakłada skrypt powłoki (basha).
Do tego kilka reguł w firewallu, żeby filtrował output na podstawie cgroup.
Pozdro
PS:
Ten konfig do kernela CM jacyś ciężko myślący ludzi robili:
# CONFIG_SCHED_AUTOGROUP is not set
Najlepszy wynalazek do Linuxa - desktopa pominęli.
Ciekawe, czy w Andku coś lepszego wymyślili.
https://en.wikipedia.org/wiki/Completely_Fair_Scheduler