, создавая вопрос с форумов, поэтому я могу ответить на него здесь и оставить для других, поскольку мне потребовались годы для отладки этого
hi,
Я бы хотел проверить следующий: процесс bzip2 для пользователя testuser переходит в группу cpuhungry, группе разрешено использовать только ядро 1, а не ядро 0.
/etc/cgrules.conf
testuser:bzip2 cpuset cpuhungry/;
/etc/cgconfig.conf
mount {
cpuset = /mnt/cgroups/cpuset;
}
group cpuhungry {
cpuset {
cpuset.cpus = 1
}
}
ive несколько раз пытался выполнить скрипт init, но я думаю, что он сломан. похоже, что вам нужно запустить
cgconfigparser -l /etc/cgconfig.conf, чтобы установить монтировки в первую очередь, сценарий инициализации пропускает этот шаг.
, начиная с демона с помощью: sudo cgrulesengd -d приводит к:
CGroup Rules Engine Daemon log started
Current time: Fri Jul 29 11:32:53 2011
Opened log file: -, log facility: 0, log level: 7
Proceeding with PID 9527
Rule: testuser:bzip2
UID: 1000
GID: N/A
DEST: cpuhungry/
CONTROLLERS:
cpuset
Started the CGroup Rules Engine Daemon.
.
.
.
Cgroup change for PID: 9528, UID: 1000, GID: 1000, PROCNAME: /bin/bzip2 FAILED! (Error Code: 50016)
GID Event: PID = 1950, tGID = 1950, rGID = 0, eGID = 122
код ошибки 50016, конечно, не задокументирован, и что-то не появляется в поиске google.
любые идеи, как исправить это?
Эта ошибка вызвана тем, что ресурсы cpuset.mems не заполнены, чтобы исправить это, просто заполнить ее одним из следующих
run
echo 0 > /sys/fs/cgroup/cpuset/cpuhungry/cpuset.mems
или
cgset -r cpuset.mems=0 cpuhungry
или update /etc/cgconfig.conf
mount {
cpuset = /mnt/cgroups/cpuset;
}
group cpuhungry {
cpuset {
cpuset.cpus = 1
cpuset.mems = 0
}
}
также см. здесь
Эта ошибка вызвана тем, что ресурсы cpuset.mems не заполнены, чтобы исправить это, просто заполнить ее одним из следующих
run
echo 0 > /sys/fs/cgroup/cpuset/cpuhungry/cpuset.mems
или
cgset -r cpuset.mems=0 cpuhungry
или update /etc/cgconfig.conf
mount {
cpuset = /mnt/cgroups/cpuset;
}
group cpuhungry {
cpuset {
cpuset.cpus = 1
cpuset.mems = 0
}
}
также см. здесь