При отсутствии запрошенных реквизитов ...
Вот как я использую cgroups на Ubuntu.
В этом посте вам нужно будет изменить переменную «$ USER» на пользователя, выполняющего процесс
Я добавил информацию для памяти, а также это будет часто задаваемые вопросы, если вам это не нужно, не используйте его.
1) установить cgroup-bin
sudo apt-get install cgroup-bin
2) Перезагрузка. cgroups теперь находится по адресу/sys/fs/cgroup
3) Создайте группу для своего пользователя (владельца процесса)
# Change $USER to the system user running your process.
sudo cgcreate -a $USER -g memory,cpu:$USER
4) Ваш пользователь может им управлять ресурсами. По умолчанию пользователи получают 1024 процессорных единицы (доли), поэтому, чтобы ограничить до 10% процессорного времени, память в байтах ...
# About 10 % cpu
echo 100 > /cgroup/cpu/$USER/cpu.shares
# 10 Mb
echo 10000000 > /cgroup/memory/$USER/memory.limit_in_bytes
5) Запустите ваш процесс (измените exec на 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> &
конфигурация
Предполагая, что группы работают на вас;)
Редактировать /etc/cgconfig.conf
, добавить в свою пользовательскую группу
# Graphical
gksudo gedit /etc/cgconfig.conf
# Command line
sudo -e /etc/cgconfig.conf
Добавьте в свою группу. Снова измените $ USER на имя пользователя, которому принадлежит процесс.
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;
}
}
Вы также можете указать группы gid=$GROUP
, /etc/cgconfig.conf хорошо прокомментирован.
Теперь снова запустите ваш процесс с cgexec -g cpu:$USER command <options>
Вы можете увидеть свой процесс (по PID) в /sys/fs/cgroup/cpu/$USER/tasks
пример
бодхи @ ufbt: ~ $ cgexec -g процессор: бодхи спать 100 &
[1] 1499
bodhi @ ufbt: ~ $ cat / sys / fs / cgroup / cpu / bodhi / tasks
1499
Для получения дополнительной информации см .:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/