[Devel] Re: statistics accounting in container
Daniel Lezcano
dlezcano at fr.ibm.com
Tue Nov 4 13:37:12 PST 2008
Ian jonhson wrote:
> Dear all,
>
> I am now working in the development of user tool for container
> (built by Daniel Lezcano) and interest in the accounting
> of container. Now, I would like to know whether the patches stated
> in:
> http://lwn.net/Articles/229974/
I think this one is known as CONFIG_CGROUP_CPUACCT and it is in mainline.
> http://lwn.net/Articles/243795/
This one is in mainline too. It is a subsystem of the resource
controller. Note that it is related to physical memory.
> is been embedded in mainstream. More further, what is the
> development status of CPU,MEM, network bandwidth in container?
I am not sure what you mean by CPU bandwidth. There is the cgroup
scheduler which allows to prioritize a group of processes but I don't
think there is a resource controller which blocks a set of processes
when a cpu consumption limit has been reached.
For the memory, there is the memory controller which gives an amount of
physical memory to a group of processes. When the limit is reached, the
processes begin to swap. There is some statistics in the cgroup files
about the memory consumption and the limits reached by the group.
Concerning network bandwidth, there is a patch walking around netdev for
cgroup packet classifier allowing to do some QoS between containers.
AFAICS, it is about to be merged. The traffic control can be used to
assign a bandwidth to the network devices belonging to a specific container.
> Can I use these functionalities directly in my work now?
These features are all provided by the control groups. The control
groups are supported by 'lxc'.
For example, if you want to retrieve the cpu used you can do:
lxc-cgroup -n foo cpuacct.usage
If you want to set a memory limit:
lxc-cgroup -n foo memory.limit_in_bytes 262144
If you want to set a priority:
lxc-cgroup -n foo cpu.shares 1234
Assign cpu:
lxc-cgroup -n foo cpuset.cpus 0,3
etc ...
What will you work consist in ?
> I am using the kernel recommended by Daniel:
> git://git.kernel.org/pub/scm/linux/kernel/git/daveh/linux-2.6-lxc.git
> and wonder whether this version of kernel has been equipped with
> accounting mechanisms of container?
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6.git
will be more up to date. You won't have sysfs per namespace neither the
checkpoint/restart, so you will have a warning for 'lxc-execute'
complaining for sysfs being busy when mounting but that should not be a
blocker.
Thanks
-- Daniel
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list