我猜您的/etc/cgconfig.conf
文件有问题。此设置对我有用:
[root@localhost cgroup]# cat /etc/cgconfig.conf
mount {
memory = /cgroup/memory;
}
[root@localhost cgroup]# service cgconfig start
Starting cgconfig service: [ OK ]
[root@localhost cgroup]# ls
memory
[root@localhost cgroup]# ls memory/
cgroup.event_control memory.limit_in_bytes memory.memsw.max_usage_in_bytes memory.soft_limit_in_bytes memory.use_hierarchy
cgroup.procs memory.max_usage_in_bytes memory.memsw.usage_in_bytes memory.stat notify_on_release
memory.failcnt memory.memsw.failcnt memory.move_charge_at_immigrate memory.swappiness release_agent
memory.force_empty memory.memsw.limit_in_bytes memory.oom_control memory.usage_in_bytes tasks
[root@localhost cgroup]# cgcreate -g memory:vbox
[root@localhost cgroup]# cgset -r memory.limit_in_bytes=512M vbox
[root@localhost cgroup]# cgclassify -g memory:vbox 11727
[root@localhost cgroup]# cat memory/vbox/tasks
11727
但是,建议您不要创建包含这些设置的文件,而不要使用cgreate
and cgset
命令,/etc/cgconfig.conf
这样您不必在每次重新启动后都重复该过程。在您的情况下,文件如下所示:
[root@localhost cgroup]# cat /etc/cgconfig.conf
mount {
memory = /cgroup/memory;
}
group vbox {
memory {
memory.limit_in_bytes="536870912";
}
}
现在,每次启动cgconfig
服务时,您都将准备好vbox cgroup。所需要做的就是仅/cgroups/memory/vbox/tasks
使用该文件中的数字将虚拟箱的PID移入文件。cgclassify
echo