Cgroups with systemd: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
−
*Standardmäßig erstellt systemd eine neue cgroup unter system.slice für jeden Dienst, den es überwacht.  
+
*[[systemd.resource-control]]
−
*Das ausführen von systemd-cgls zeigt die folgenden Dienste unter system.slice (die Ausgabe ist der Kürze halber abgeschnitten):
+
*[[systemd.slice]]
−
*Sie können dieses Verhalten ändern, indem Sie die systemd-Dienstdatei bearbeiten.
+
*[[Cgroups with systemd simple]]
−
*Es gibt drei Optionen in Bezug auf die cgroup-Verwaltung mit systemd:
+
*[[Cgroups with systemd complex]]
−
**Bearbeiten der Servicedatei selbst.
 
−
**Verwendung von Drop-in-Dateien.
 
−
**Verwenden von systemctl set-property-Befehlen, die mit dem manuellen Bearbeiten der Dateien identisch sind, aber systemctl erstellt die erforderlichen Einträge für Sie.
 
−
Auf diese gehe ich weiter unten näher ein.
 
−
=Servicedateien bearbeiten=
 
−
*Lassen Sie uns die Unit-Datei selbst bearbeiten.
 
−
*Die maximale CPU-Auslastung soll begrenzt werden
 
−
*einmal 20% und einmal 40%
 
−
==Unit Dateien==
 
−
*cat /etc/systemd/system/gen-load-20.service
 
−
<pre>
 
−
[Unit]
 
−
Description=CPU usage limiting test
 
−
 
 
−
[Service]
 
−
Type=oneshot
 
−
ExecStart=/usr/local/bin/generate_load.sh
 
−
TimeoutSec=0
 
−
StandardOutput=tty
 
−
RemainAfterExit=yes
 
−
CPUQuota=20%
 
−
 
 
−
[Install]
 
−
WantedBy=default.target
 
−
</pre>
 
−
 
 
−
*cat /etc/systemd/system/gen-load-40.service
 
−
<pre>
 
−
[Unit]
 
−
Description=CPU usage limiting test
 
−
 
 
−
[Service]
 
−
Type=oneshot
 
−
ExecStart=/usr/local/bin/generate_load.sh
 
−
TimeoutSec=0
 
−
StandardOutput=tty
 
−
RemainAfterExit=yes
 
−
CPUQuota=40%
 
−
 
 
−
[Install]
 
−
WantedBy=default.target
 
−
</pre>
 
−
==Das Skript==
 
−
*cat /usr/local/bin/generate_load.sh
 
−
 
 
−
#!/bin/bash
 
−
/usr/bin/cat /dev/urandom > /dev/null &
 
−
 
 
−
=Starten des Dienstes=
 
−
*systemcl start gen-load-20.service
 
−
*systemcl start gen-load-40.service
 
−
*systemd-cgtop
 
−
 
 
−
=Status=
 
−
*systemd-cgtop
 
−
<pre>
 
−
Control Group                      Tasks  %CPU  Memory  Input/s Output/s
 
−
/                                    108  66.6  816.5M        -        -
 
−
system.slice                          17  62.5    80.2M        -        -
 
−
system.slice/gen-load-40.service      1  '''41.9'''  300.0K        -        -
 
−
system.slice/gen-load-20.service      1  '''20.4'''  300.0K        -        -
 
−
</pre>
 
−
 
 
−
=Links=
 
−
*https://www.redhat.com/sysadmin/cgroups-part-four
 

Aktuelle Version vom 15. Januar 2023, 12:59 Uhr