On Mon, Sep 19, 2011 at 11:38 PM, Vivek Goyal <vgo...@redhat.com> wrote: > On Mon, Sep 19, 2011 at 09:40:33PM +0530, Balbir Singh wrote: >> > >> > Ok. That's fine. So then we can maintain some kind of file which has >> > list of groups created by cgconfig and we try to reclaim those groups >> > when service is stopped. >> >> Namespaces should solve the problem if properly used > > Can you elaborate here what do you mean by namespace? I guess you are > referring to the fact that don't share top level directory between > systemd and cgconfig and things should be just fine? > A namespace allows you to create a config file without a mount section and adds the namespace (read "path") to all the groups mentioned under it
For example, I am using Fedora 15 at the moment and my mount output for cgroup is tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/cpu type cgroup (rw,nosuid,nodev,noexec,relatime,cpu) cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) When I try to mount a set of cgroups and create directories I get an error [balbir@balbir libcg]$ sudo cgconfigparser -l /etc/cgconfig.conf Loading configuration file /etc/cgconfig.conf failed Cgroup mounting failed In the samples directory under src/ you will find namespace_config.conf group www { perm { task { uid = root; gid = root; } admin { uid = root; gid = root; } } cpu { cpu.shares = 1000; } cpuacct { } } group ftp { perm { task { uid = root; gid = root; } admin { uid = root; gid = root; } } cpu { cpu.shares = 500; } cpuacct { } } namespace { cpu = daemons; cpuacct = daemons; } When I run cgconfigparser -l samples/namespace_config.conf I see daemons/www and daemons/ftp [balbir@balbir libcg]$ ls /sys/fs/cgroup/cpu/daemons/ cgroup.clone_children cgroup.procs cpu.rt_runtime_us ftp tasks cgroup.event_control cpu.rt_period_us cpu.shares notify_on_release www [balbir@balbir libcg]$ ls /sys/fs/cgroup/cpu/daemons/ cgroup.clone_children cgroup.procs cpu.rt_runtime_us ftp tasks cgroup.event_control cpu.rt_period_us cpu.shares notify_on_release www For other controllers like memory, I don't see these groups because I did not ask for them in namespace [balbir@balbir libcg]$ ls /sys/fs/cgroup/memory/ cgroup.clone_children memory.failcnt memory.move_charge_at_immigrate memory.stat notify_on_release cgroup.event_control memory.force_empty memory.numa_stat memory.swappiness release_agent cgroup.procs memory.limit_in_bytes memory.oom_control memory.usage_in_bytes tasks libvirt memory.max_usage_in_bytes memory.soft_limit_in_bytes memory.use_hierarchy I hope this clarifies what I was saying, cleanup is an issue, but if we do cgclear with a clear namespace, it should work out Balbir ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel