W przypadku braku wymaganych danych ...
Oto jak używam cgroups na Ubuntu.
W tym poście musisz zmienić zmienną „USER” na użytkownika uruchamiającego proces
Dodałem informacje do pamięci, a także będzie to FAQ, jeśli nie potrzebujesz, nie używaj.
1) Zainstaluj cgroup-bin
sudo apt-get install cgroup-bin
2) Uruchom ponownie. cgroups znajduje się teraz w/sys/fs/cgroup
3) Utwórz grupę dla swojego użytkownika (właściciela procesu)
# Change $USER to the system user running your process.
sudo cgcreate -a $USER -g memory,cpu:$USER
4) Użytkownik może zarządzać zasobami. Domyślnie użytkownicy otrzymują 1024 jednostki CPU (udziały), więc aby ograniczyć się do około 10% procesorów, pamięć jest w bajtach ...
# About 10 % cpu
echo 100 > /cgroup/cpu/$USER/cpu.shares
# 10 Mb
echo 10000000 > /cgroup/memory/$USER/memory.limit_in_bytes
5) Rozpocznij proces (zmień exec na cgexec)
# -g specifies the control group to run the process in
# Limit cpu
cgexec -g cpu:$USER command <options> &
# Limit cpu and memory
cgexec -g memory,cpu:$USER command <options> &
Konfiguracja
Zakładając, że grupy pracują dla ciebie;)
Edytuj /etc/cgconfig.conf
, dodaj w swojej niestandardowej grupie
# Graphical
gksudo gedit /etc/cgconfig.conf
# Command line
sudo -e /etc/cgconfig.conf
Dodaj w swojej grupie. Ponownie zmień $ USER na nazwę użytkownika będącego właścicielem procesu.
group $USER {
# Specify which users can admin (set limits) the group
perm {
admin {
uid = $USER;
}
# Specify which users can add tasks to this group
task {
uid = $USER;
}
}
# Set the cpu and memory limits for this group
cpu {
cpu.shares = 100;
}
memory {
memory.limit_in_bytes = 10000000;
}
}
Możesz także określić grupy gid=$GROUP
, /etc/cgconfig.conf jest dobrze skomentowany.
Teraz ponownie uruchom proces cgexec -g cpu:$USER command <options>
Możesz zobaczyć swój proces (według PID) w /sys/fs/cgroup/cpu/$USER/tasks
Przykład
bodhi @ ufbt: ~ $ cgexec -g cpu: bodhi sleep 100 &
[1] 1499
bodhi @ ufbt: ~ $ cat / sys / fs / cgroup / cpu / bodhi / tasks
1499
Aby uzyskać dodatkowe informacje, patrz:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/