[systemd-devel] Parent slices and resource control
Lennart Poettering
lennart at poettering.net
Mon Jun 1 10:22:03 UTC 2020
On So, 31.05.20 14:36, Patrick Dimond (me at ptrckd.com) wrote:
> Hi,
> I was reading the documentation for systemd.resource-control and came
> across this sentence under accounting settings.
>
> "Note that turning on memory accounting for one unit will also
> implicitly turn it on for all units contained in the same slice
> and for all its parent slices and the units contained therein."
>
> What exactly is a parent slice?
>
> >From systemd.slice
> "Slices are organized hierarchically in a tree. The name of the slice
> encodes the location in the tree. The name consists of a dash-separated
> series of names, which describes the path to the slice from the root
> slice. The root slice is named -.slice. Example: foo-bar.slice is a
> slice that is located within foo.slice, which in turn is located in the
> root slice -.slice."
>
> Does turning on accounting in one slice or service end up turning it on
> for everything? Does every slice exist under the root slice?
Consider this tree:
-.slice
`- foo.slice
| `- miau.service
`- bar.slice
| `- bar-quux.slice
| | `- daemon.service
| | `- otherdaemon.service
| `- bar-uuu.slice
| ` rumpel.service
`- zzz.slice
`- zzz-yyy.slice
`- wuff.service
And now you turn on memory accounting in daemon.service. This would
then propagate up the three, so you get memory accounting on all its
parents too: bar-quux.slice, bar.slice and -.slice. And you will get
it turned on forthe units immediately in throse, i.e. also in
otherdaemon.service, bar-uuu.slice, foo.slice, zzz.slice. However, it
will not be turned on in: miau.service, rumpel.service, zzz-yyy.slice
and wuff.service, since those are neither in the path to the root
slice nor immediately inside any of those slices.
Makes sense?
Lennart
--
Lennart Poettering, Berlin
More information about the systemd-devel
mailing list