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

Reply via email to