System uruchamia wiele procesów w trakcie uruchamiania usług. Umieszcza te procesy w hierarchii skomponowanej w tzw. grupy kontrolne (control groups lub cgroups) i używa ich do monitorowania oraz kontrolowania zasobów systemu takich jak procesor, pamięć, przepustowość karty sieciowej i wydajność dysku twardego. W taki sposób zasoby systemowe mogą być przydzielane użytkownikom, bazom danych i aplikacjom wg ich potrzeb i priorytetów powodując wzrost wydajności systemu.
Komenda ps może pokazać listę procesów w ramach grup kontrolnych:
# ps eafxo pid,user,cgroup,args
Listowanie hierarchii grup kontrolnych:
# systemd-cgls
Listowanie hierarchii grup kontrolnych dla konkretnego zasobu, tutaj cpu:
# systemd-cgls cpu
Monitorowanie zasobów grup kontrolnych:
# systemd-cgtop
Wyświetlenie aktualnych ustawień BlockIOWeight and CPUShares dla usługi atd:
# systemctl show –p BlockIOWeight –p CPUShares atd
CPUShares=1024
BlockIOWeight=1000
Zmiana tych ustawień:
# systemctl set-property atd BlockIOWeight=200 CPUShares=256