Revision as of 13:26, 13 August 2013

Contents

Systemd cgroups changes

Per-controller hierarchies are going away ( in other words the cgroups tree can no longer be considered a shared resource )and is being replaced by an single kernel cgroup hierarchy which will allow controllers to be individually enabled for each cgroup with the hierarchies the controllers see always being subtrees of the full single hierarchy.

This hierarchy is a private property of systemd as in systemd will set it up, systemd will maintain it, systemd will rearrange it.

Other software that wants to make use of cgroups can only do so through systemd's APIs.

Systemd unit changes

The lower level cgroup configuration options as in ControlGroup* as well as "DefaultControllers* are being deprecated!!!

Introduction of slice unit

There are four .slice units which form the basis of the hierarchy for assignment of resources for services, users, and virtual machines or containers.

The .slice is the root of the hierarchy. It does not contain services directly, but is used to set defaults for the whole tree.

The machine.slice contains virtual machines and containers registered with systemd-machined and is where all running VMs/containers are located by default.

/sys/fs/cgroup/
`-- systemd
|-- machine.slice
|...

The system.slice contains services started by systemd and is where all system services are located by default.

Usage of any of the following higher level cgroup options for one or more of the following unit options might also implicitly turn it on for all units contained in the same slice and for all its parent slices and the units contained therein.