Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:systemd-resourcenkontrolle [2016/03/15 14:03] stefan_miethke angelegt |
admin_grundlagen:systemd-resourcenkontrolle [2022/05/25 07:26] (aktuell) sh [Unit Parameter aendern] |
||
|---|---|---|---|
| Zeile 7: | Zeile 7: | ||
| ==== CG Baum anzeigen ==== | ==== CG Baum anzeigen ==== | ||
| + | # systemd-cgls | ||
| + | # systemd-cgtop | ||
| - | <code> | ||
| - | # systemd-cgls | ||
| - | # systemd-cgtop | ||
| - | |||
| - | </code> | ||
| ==== Slices anzeigen ==== | ==== Slices anzeigen ==== | ||
| + | # systemctl -t slice | ||
| - | <code> | ||
| - | # systemctl -t slice | ||
| - | |||
| - | </code> | ||
| ==== Resource Controller ==== | ==== Resource Controller ==== | ||
| Zeile 30: | Zeile 24: | ||
| * freezer — suspends or resumes tasks in a cgroup; | * freezer — suspends or resumes tasks in a cgroup; | ||
| * memory — sets limits on memory use by tasks in a cgroup, and generates automatic reports on memory resources used by those tasks; | * memory — sets limits on memory use by tasks in a cgroup, and generates automatic reports on memory resources used by those tasks; | ||
| - | * net<sub>cls</sub> — tags network packets with a class identifier (classid) that allows the Linux traffic controller (the tc command) to identify packets originating from a particular cgroup task; | + | * net_cls — tags network packets with a class identifier (classid) that allows the Linux traffic controller (the tc command) to identify packets originating from a particular cgroup task; |
| - | * perf<sub>event</sub> — enables monitoring cgroups with the perf tool; | + | * perf_event — enables monitoring cgroups with the perf tool; |
| * hugetlb — allows to use virtual memory pages of large sizes, and to enforce resource limits on these pages. | * hugetlb — allows to use virtual memory pages of large sizes, and to enforce resource limits on these pages. | ||
| ==== Unit Parameter aendern ==== | ==== Unit Parameter aendern ==== | ||
| + | # systemctl set-property <unit-name> <parameter>=<value> | ||
| + | # systemctl set-property httpd.service CPUShares=600 MemoryLimit=500M | ||
| + | # systemctl set-property --runtime httpd.service CPUShares=600 MemoryLimit=500M # temporary change | ||
| + | Änderungen an schon bestehenden Units werden persistent! | ||
| - | <code> | ||
| - | # systemctl set-property <unit-name> <parameter>=<value> | ||
| - | # systemctl set-property httpd.service CPUShares=600 MemoryLimit=500M | ||
| - | # systemctl set-property --runtime httpd.service CPUShares=600 MemoryLimit=500M # temporary change | ||
| - | |||
| - | </code> | ||
| === Unit Parameter === | === Unit Parameter === | ||
| ^Parameter ^Default^Beschreibung ^ | ^Parameter ^Default^Beschreibung ^ | ||
| |CPUAccounting=true |-- |CPUAccounting anschalten | | |CPUAccounting=true |-- |CPUAccounting anschalten | | ||
| - | |CPUShares=value |1024 |CPU Belegung | | + | |CPUWeight=value |100 |CPU Belegung | |
| |MemoryAccounting=true |-- |Speicherverbrauch ueberwachung anschalten | | |MemoryAccounting=true |-- |Speicherverbrauch ueberwachung anschalten | | ||
| |MemoryLimit=value |-- |Speicherverbrauch (K,M,G,T) | | |MemoryLimit=value |-- |Speicherverbrauch (K,M,G,T) | | ||
| |BlockIOAccounting=true |-- |BlockIO Accounting anschalten | | |BlockIOAccounting=true |-- |BlockIO Accounting anschalten | | ||
| - | |BlockIOWeight=value |1000 |generische IO Prio (100 < Wert < 1000) | | + | |BlockIOWeight=value |100 |generische IO Prio (100 < Wert < 1000) | |
| - | |BlockIODeviceWeight=device<sub>name</sub> value |1000 |IO Prio fuer Geraet | | + | |BlockIODeviceWeight=device_name value |100 |IO Prio fuer Geraet | |
| - | |BlockIOReadBandwidth=device<sub>name</sub> value |-- |Lese-Bandbreite pro Sekunde (K,M,G,T) | | + | |BlockIOReadBandwidth=device_name value |-- |Lese-Bandbreite pro Sekunde (K,M,G,T) | |
| - | |BlockIOWriteBandwidth=device<sub>name</sub> value|-- |Schreib-Bandbreite pro Sekunde (K,M,G,T) | | + | |BlockIOWriteBandwidth=device_name value |-- |Schreib-Bandbreite pro Sekunde (K,M,G,T) | |
| - | |DeviceAllow=device<sub>name</sub> options |-- |Zugriff (r,w,m) auf Geraete-Dateien | | + | |DeviceAllow=device_name options |-- |Zugriff (r,w,m) auf Geraete-Dateien | |
| |DevicePolicy=value |-- |Zugriffs-Policy fuer Geraete-Dateien (strict, closed, auto)| | |DevicePolicy=value |-- |Zugriffs-Policy fuer Geraete-Dateien (strict, closed, auto)| | ||
| - | |Slice=slice<sub>name</sub> |-- |Unit einem Slice zuordnen | | + | |Slice=slice_name |-- |Unit einem Slice zuordnen | |
| |ControlGroupAttribute=attribute value |-- |Low-Level Control-Group Parameter setzen | | |ControlGroupAttribute=attribute value |-- |Low-Level Control-Group Parameter setzen | | ||
| - | + | *Weight*: default=100. [10-10000]. 100 ist "die Mitte" | |
| - | + | ||
| - | + | ||