Kontrollgruppen mit Systemd verwalten
Führt Cgroups-Konzepte in Oracle Linux ein und zeigt, wie systemd die Resource Control organisiert und verwaltet.
Kontrollgruppen, die als cgroups bezeichnet werden, sind ein Oracle Linux-Kernelfeature, das systemd-Services und bei Bedarf einzelne Prozesse (PIDs) in hierarchischen Gruppen für die Zuweisung von Systemressourcen wie CPU, Arbeitsspeicher und I/O organisiert.
Beispiel: Wenn Sie die CPU-Ressource im Verhältnis 150:100:50 auf drei systemd-Services, myservice1.service, myservice2.service und myservice3.service, aufteilen müssen, können Sie mit den Tools systemd jedem entsprechenden cgroup des Service eine CPU-Gewichtung zuweisen, die mit der Zielfreigabe übereinstimmt.
systemd ist für das Erstellen und Verwalten von cgroups im virtuellen Dateisystem /sys/fs/cgroup/ verantwortlich.
Die systemd-Suite bietet sichere, allgemeine Möglichkeiten zur Konfiguration von cgroup-Ressourcen, wie die Verwendung von Drop-in-Dateien oder dem Befehl systemctl set-property. Eine direkte Änderung systemd-Objekte im virtuellen Dateisystem /sys/fs/cgroup/ wird nicht empfohlen.
Standardmäßig erstellt systemd eine cgroup für Folgendes:
-
Jeder
systemd-Service wird auf dem Host eingerichtet.Beispiel: Ein Server kann die Kontrollgruppe
NetworkManager.serviceaufweisen, um Prozesse zu gruppieren, die dem ServiceNetworkManagergehören, und die Kontrollgruppefirewalld.service, um Prozesse zu gruppieren, die dem Servicefirewalldgehören, usw. -
Jeder Benutzer (
UID) auf dem Host.
Die Funktion cgroup wird als virtuelles Dateisystem unter /sys/fs/cgroup gemountet.
Jede cgroup verfügt über einen entsprechenden Ordner im Dateisystem /sys/fs/cgroup. Beispiel: Die cgroups, die von systemd für die verwalteten Services erstellt wurde, kann durch Ausführen des Befehls ls -l /sys/fs/cgroup/system.slice | grep ".service" angezeigt werden, wie im folgenden Beispielcodeblock dargestellt:
ls -l /sys/fs/cgroup/system.slice | grep ".service"
...root root 0 Mar 22 10:47 atd.service
...root root 0 Mar 22 10:47 auditd.service
...root root 0 Mar 22 10:47 chronyd.service
...root root 0 Mar 22 10:47 crond.service
...root root 0 Mar 22 10:47 dbus-broker.service
...root root 0 Mar 22 10:47 dtprobed.service
...root root 0 Mar 22 10:47 firewalld.service
...root root 0 Mar 22 10:47 httpd.service
...
Sie können auch benutzerdefinierte cgroups außerhalb der systemd Verzweigungen erstellen, z.B. unter einem Speicherort wie /sys/fs/cgroup/MyGroups/, und Prozess-IDs (PIDs) je nach Systemanforderungen verschiedenen cgroups zuweisen. Dieser Ansatz sollte jedoch nur für bestimmte Szenarien wie temporäres Debugging oder Testen verwendet werden. Für die meisten Anwendungsfälle wird empfohlen, systemd zu verwenden, um cgroups zu konfigurieren, um eine korrekte und persistente Ressourcenverwaltung sicherzustellen.
Oracle Linux bietet zwei Arten von Kontrollgruppen:
- Kontrollgruppen Version 1 (
cgroups v1) -
Diese Gruppen stellen eine Controller-Hierarchie pro Ressource bereit.
Jede Ressource, wie CPU, Arbeitsspeicher, I/O usw., verfügt über eine eigene Kontrollgruppenhierarchie. Ein Nachteil dieser Gruppe ist die Schwierigkeit, eine angemessene Koordinierung der Ressourcennutzung zwischen Gruppen zu schaffen, die zu verschiedenen Prozesshierarchien gehören könnten.
- Kontrollgruppen Version 2 (
cgroups v2)) -
Diese Gruppen stellen eine einzelne Kontrollgruppenhierarchie bereit, für die alle Resource Controller gemountet sind. In dieser Hierarchie können Sie eine bessere Koordination der Ressourcennutzung über verschiedene Ressourcencontroller hinweg erhalten. Diese Version ist eine Verbesserung gegenüber
cgroups v1, deren Überflexibilität eine ordnungsgemäße Koordination der Ressourcennutzung zwischen den Systemkonsumenten verhindert hat.
Oracle Linux 8 umfasst beide Versionen, wobei cgroups v1 standardmäßig aktiviert und gemountet ist. Oracle Linux 9 stellt auch beide Versionen bereit, aktiviert und mountet jedoch standardmäßig cgroups v2.
Oracle Linux 10 bietet nur die Implementierung der Kontrollgruppenversion 2. cgroups v1 ist veraltet und nicht verfügbar. cgroups v2 ist standardmäßig aktiviert und gemountet.
Weitere Informationen zu Kontrollgruppen finden Sie auf den manuellen Seiten cgroups(7) und sysfs(5).
Informationen zu Kontrollgruppen und systemd
Kontrollgruppen können vom System und Service-Manager systemd für die RessourcenAdministration verwendet werden. systemd verwendet diese Gruppen, um Einheiten und Services zu organisieren, die Ressourcen verbrauchen. Weitere Informationen zu systemd finden Sie unter Managing the System With systemd.
systemd stellt verschiedene Einheitentypen bereit, von denen drei für die Ressourcensteuerung verwendet werden:
-
Service: Ein Prozess oder eine Gruppe von Prozessen, deren Einstellungen auf einer Unit-Konfigurationsdatei basieren. Services umfassen angegebene Prozesse in einer "Collection", sodass
systemddie Prozesse als ein Set starten oder stoppen kann. Servicenamen haben das Formatname.service. -
Geltungsbereich: Eine Gruppe von extern erstellten Prozessen, wie Benutzersessions, Container, virtuelle Maschinen usw.
Ähnlich wie bei Services kapseln Geltungsbereiche diese erstellten Prozesse. Sie werden von den willkürlichen Prozessen gestartet oder gestoppt und dann zur Laufzeit von
systemdregistriert. Geltungsbereichsnamen entsprechen dem Formatname.scope. -
Bereich: Eine Gruppe von hierarchisch organisierten Einheiten, in denen sich Services und Geltungsbereiche befinden.
Daher enthalten die Abschnitte selbst keine Prozesse. Vielmehr definieren die Geltungsbereiche und Services in einem Bereich die Prozesse. Jeder Name einer Bereichseinheit entspricht dem Pfad zu einer Position in der Hierarchie. Root-Bereiche, in der Regel
user.slicefür alle benutzerbasierten Prozesse undsystem.slicefür systembasierte Prozesse, werden automatisch in der Hierarchie erstellt. Übergeordnete Bereiche sind direkt unter dem Root-Bereich vorhanden und folgen dem Formatparent-name.slice. Diese Root-Bereiche können dann Teilbereiche auf mehreren Ebenen aufweisen.
Der Service, der Geltungsbereich und die Bereichseinheiten werden Objekten in der Kontrollgruppenhierarchie direkt zugeordnet. Wenn diese Einheiten aktiviert sind, werden sie direkt Kontrollgruppenpfaden zugeordnet, die aus den Einheitennamen erstellt werden. Um die Zuordnung zwischen den Ressourceneinheitstypen und Steuerungsgruppen systemd anzuzeigen, geben Sie Folgendes ein:
sudo systemd-cgls
Working directory /sys/fs/cgroup:
├─user.slice (#1243)
│ → trusted.invocation_id: 50ce3909b2644f919ee420adc39edb4b
│ ├─user-1001.slice (#4167)
│ │ → trusted.invocation_id: 02e80a960d4549a7a9c69ce0fb546c26
│ │ ├─session-2.scope (#4405)
│ │ │ ├─2417 sshd: alice [priv]
│ │ │ ├─2430 sshd: alice@pts/0
│ │ │ ├─2431 -bash
│ │ │ ├─2689 sudo systemd-cgls
│ │ │ ├─2691 systemd-cgls
│ │ │ └─2692 less
...
│ └─user@984.service … (#3827)
│ → trusted.delegate: 1
│ → trusted.invocation_id: 09b47ce9f3124239b75814114353f3f2
│ └─init.scope (#3861)
│ ├─2058 /usr/lib/systemd/systemd --user
│ └─2099 (sd-pam)
├─init.scope (#19)
│ └─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
└─system.slice (#53)
...
├─chronyd.service (#2467)
│ → trusted.invocation_id: c0f77aaa9c7844e6bef6a6898ae4dd56
│ └─1358 /usr/sbin/chronyd -F 2
├─auditd.service (#2331)
│ → trusted.invocation_id: 756808add6a348609316c9e8c1801846
│ └─1310 /sbin/auditd
├─tuned.service (#3079)
│ → trusted.invocation_id: 2c358135fc46464d862b05550338d4f4
│ └─1415 /usr/bin/python3 -Es /usr/sbin/tuned -l -P
├─systemd-journald.service (#1651)
│ → trusted.invocation_id: 7cb7ccb14e044a899aadf47bbb583ada
│ └─977 /usr/lib/systemd/systemd-journald
├─atd.service (#3623)
│ → trusted.invocation_id: 597a7a4e5646468db407801b8562d869
│ └─1915 /usr/sbin/atd -f
├─sshd.service (#3419)
│ → trusted.invocation_id: 490504a683fc4311ab0fbeb0864a1a34
│ └─1871 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
...
Ein Beispiel für die Verwendung von systemd-Befehlen wie systemctl zur Verwaltung von Ressourcen finden Sie unter Zugriff auf Systemressourcen steuern. Weitere technische Details finden Sie auf den Handbuchseiten systemctl(1), systemd-cgls(1) und systemd.resource-control(5).
cgroups v2 mit systemd verwalten
Zeigt, wie systemd-Strukturen cgroups v2 für Services und Benutzer und wie die Hierarchie geprüft wird.
Die bevorzugte Methode für die Verwaltung der Ressourcenzuweisung mit cgroups v2 ist die Verwendung der von systemd bereitgestellten Kontrollgruppenfunktionalität.
Informationen zum Aktivieren der Funktion cgroups v2 im System finden Sie unter Ressourcen mit Kontrollgruppen verwalten.
Standardmäßig erstellt systemd einen Ordner cgroup für jeden systemd-Service, der auf dem Host eingerichtet ist. systemd benennt diese Ordner im Format servicename.service, wobei servicename der Name des Service ist, der mit dem Ordner verknüpft ist.
Um eine Liste der cgroup-Ordner anzuzeigen, die systemd für die Services erstellt, führen Sie den Befehl ls in der Verzweigung system.slice des cgroup-Dateisystems aus, wie im folgenden Beispielcodeblock dargestellt:
ls /sys/fs/cgroup/system.slice/
... ... ...
app_service1.service cgroup.subtree_control httpd.service
app_service2.service chronyd.service ...
... crond.service ...
cgroup.controllers dbus-broker.service ...
cgroup.events dtprobed.service ...
cgroup.freeze firewalld.service ...
... gssproxy.service ...
... ... ...
Im vorherigen Befehlsblock:
-
Die Ordner app_service1.
serviceund app_service2.servicestellen benutzerdefinierte Anwendungsservices dar, die auf dem System ausgeführt werden können.
Zusätzlich zu den Servicekontrollgruppen erstellt systemd auch einen Ordner cgroup für jeden Benutzer auf dem Host.
Um die cgroups anzuzeigen, die für jeden Benutzer erstellt wurde, können Sie den Befehl ls in der Verzweigung user.slice des Dateisystems cgroup ausführen, wie im folgenden Beispielcodeblock dargestellt:
ls /sys/fs/cgroup/user.slice/
cgroup.controllers cgroup.subtree_control user-1001.slice
cgroup.events cgroup.threads user-982.slice
cgroup.freeze cgroup.type ...
... ... ...
... ... ...
... ... ...
Im vorhergehenden Codeblock:
-
Jeder Benutzerordner
cgroupwird im Formatuser-UID.slicebenannt. Die Kontrollgruppeuser-1001.slicegilt also für einen Benutzer, dessenUIDbeispielsweise 1001 ist.
systemd bietet allgemeinen Zugriff auf die Funktionen cgroups und Kernel-Ressourcencontroller, sodass Sie nicht direkt auf das Dateisystem zugreifen müssen.
Beispiel: Um die CPU-Gewichtung eines Service mit dem Namen app_service1.service festzulegen, führen Sie den Befehl systemctl set-property wie folgt aus:
sudo systemctl set-property app_service1.service CPUWeight=150
Somit können Sie mit systemd die Ressourcenverteilung auf Anwendungsebene und nicht auf der Prozess-PID-Ebene verwalten, die bei der Konfiguration von cgroups ohne Verwendung der systemd-Funktionalität verwendet wird.
Informationen zu Bereichen und Ressourcenzuteilung in systemd
In diesem Abschnitt wird untersucht, wie systemd zunächst jeden der Standard-Kernelcontroller, z.B. CPU, memory und blkio, in Teile unterteilt, die als "Bereiche" bezeichnet werden, wie im folgenden Beispiel-Tortendiagramm dargestellt:
Sie können auch benutzerdefinierte Bereiche für die Ressourcenverteilung erstellen, wie im Abschnitt Resource Controller-Optionen festlegen und benutzerdefinierte Bereiche erstellen dargestellt.

Wie das vorstehende Tortendiagramm zeigt, wird jeder Resource Controller standardmäßig gleichmäßig auf die folgenden 3 Bereiche aufgeteilt:
-
System (
system.slice). -
Benutzer (
user.slice). -
Maschine (
machine.slice).
In der folgenden Liste werden die einzelnen Bereiche genauer betrachtet. Zur Erörterung konzentrieren sich die Beispiele in der Liste auf den CPU-Controller.
- System (
system.slice) -
Dieser Ressourcenbereich dient zur Verwaltung der Ressourcenzuteilung zwischen Daemons und Serviceeinheiten.
Wie im vorherigen Beispiel-Tortendiagramm dargestellt, wird das Systemsegment in weitere Unterabschnitte unterteilt. Beispiel: Bei CPU-Ressourcen können innerhalb des Systembereichs Unterbereiche zugewiesen werden, die Folgendes umfassen:-
httpd.service(CPUWeight=100) -
sshd.service(CPUWeight=100) -
crond.service(CPUWeight=100) -
app1.
service(CPUWeight=100) -
app2.
service(CPUWeight=100)
serviceund app2.servicebenutzerdefinierte Anwendungsservices dar, die auf dem System ausgeführt werden können. -
- Benutzer (
user.slice) - Dieser Ressourcenbereich dient zur Verwaltung der Ressourcenzuweisung zwischen Benutzersessions. Für jede
UIDwird ein einzelner Bereich erstellt, unabhängig davon, wie viele Anmeldungen der verknüpfte Benutzer auf dem Server aktiv hat. Wenn Sie mit unserem Tortendiagrammbeispiel fortfahren, können die Unterbereiche wie folgt aussehen:-
user1 (
CPUWeight=100,UID=982) -
user2 (
CPUWeight=100,UID=1001)
-
- Maschine (
machine.slice) - Dieser Bereich der Ressource wird zur Verwaltung der Ressourcenzuweisung zwischen gehosteten virtuellen Maschinen wie KVM-Gästen und Linux-Containern verwendet. Der Computerbereich ist nur auf einem Server vorhanden, wenn der Server virtuelle Maschinen oder Linux-Container hostet.
Für Share-Zuweisungen wird kein maximaler Grenzwert für eine Ressource festgelegt.
In den vorherigen Beispielen hat der Bereich user.slice 2 Benutzer: user1 und user2. Jedem Benutzer wird ein gleicher Anteil der CPU-Ressource zugewiesen, die für das übergeordnete Element user.slice verfügbar ist. Wenn die mit user1 verknüpften Prozesse jedoch im Leerlauf sind und keine CPU-Ressource erforderlich ist, ist deren CPU-Share bei Bedarf für die Zuweisung zu user2 verfügbar. In einem solchen Fall kann user2 sogar die gesamte CPU-Ressource zugewiesen werden, die der übergeordneten user.slice zugeordnet ist, wenn sie von anderen Benutzern benötigt wird.
Um die CPU-Ressource zu begrenzen, müssen Sie die Eigenschaft CPUQuota auf den erforderlichen Prozentsatz setzen.
Bereiche, Services und Geltungsbereiche in der Cgroup-Hierarchie
Die in den vorhergehenden Abschnitten verwendete Tortendiagramm-Analogie ist eine hilfreiche Möglichkeit, die Aufteilung von Ressourcen in Abschnitte zu konzeptualisieren. In Bezug auf die strukturelle Organisation sind die Kontrollgruppen jedoch in einer Hierarchie angeordnet. Sie können die Kontrollgruppenhierarchie systemd auf dem System anzeigen, indem Sie den Befehl systemd-cgls wie folgt ausführen:
Um die gesamte cgroup-Hierarchie ab dem Root-Bereich -.slice wie im folgenden Beispiel anzuzeigen, stellen Sie sicher, dass Sie systemd-cgls außerhalb des Einhängepunkts der Kontrollgruppe /sys/fs/cgroup/ ausführen.
Wenn Sie den Befehl in /sys/fs/cgroup/ ausführen, beginnt die Ausgabe am cgroup-Speicherort, von dem aus der Befehl ausgeführt wurde. Weitere Informationen finden Sie unter systemd-cgls(1).
systemd-cgls
Control group /:
-.slice
...
├─user.slice (#1429)
│ → user.invocation_id: 604cf5ef07fa4bb4bb86993bb5ec15e0
│ ├─user-982.slice (#4131)
│ │ → user.invocation_id: 9d0d94d7b8a54bcea2498048911136c8
│ │ ├─session-c1.scope (#4437)
│ │ │ ├─2416 /usr/bin/sudo -u ocarun /usr/libexec/oracle-cloud-agent/plugins/runcommand/runcommand
│ │ │ └─2494 /usr/libexec/oracle-cloud-agent/plugins/runcommand/runcommand
│ │ └─user@982.service … (#4199)
│ │ → user.delegate: 1
│ │ → user.invocation_id: 37c7aed7aa6e4874980b79616acf0c82
│ │ └─init.scope (#4233)
│ │ ├─2437 /usr/lib/systemd/systemd --user
│ │ └─2445 (sd-pam)
│ └─user-1001.slice (#7225)
│ → user.invocation_id: ce93ad5f5299407e9477964494df63b7
│ ├─session-2.scope (#7463)
│ │ ├─20304 sshd: oracle [priv]
│ │ ├─20404 sshd: oracle@pts/0
│ │ ├─20405 -bash
│ │ ├─20441 systemd-cgls
│ │ └─20442 less
│ └─user@1001.service … (#7293)
│ → user.delegate: 1
│ → user.invocation_id: 70284db060c1476db5f3633e5fda7fba
│ └─init.scope (#7327)
│ ├─20395 /usr/lib/systemd/systemd --user
│ └─20397 (sd-pam)
├─init.scope (#19)
│ └─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 28
└─system.slice (#53)
...
├─dbus-broker.service (#2737)
│ → user.invocation_id: 2bbe054a2c4d49809b16cb9c6552d5a6
│ ├─1450 /usr/bin/dbus-broker-launch --scope system --audit
│ └─1457 dbus-broker --log 4 --controller 9 --machine-id 852951209c274cfea35a953ad2964622 --max-bytes 536870912 --max-fds 4096 --max-matches 131072 --audit
...
├─chronyd.service (#2805)
│ → user.invocation_id: e264f67ad6114ad5afbe7929142faa4b
│ └─1482 /usr/sbin/chronyd -F 2
├─auditd.service (#2601)
│ → user.invocation_id: f7a8286921734949b73849b4642e3277
│ ├─1421 /sbin/auditd
│ └─1423 /usr/sbin/sedispatch
├─tuned.service (#3349)
│ → user.invocation_id: fec7f73678754ed687e3910017886c5e
│ └─1564 /usr/bin/python3 -Es /usr/sbin/tuned -l -P
├─systemd-journald.service (#1837)
│ → user.invocation_id: bf7fb22ba12f44afab3054aab661aedb
│ └─1068 /usr/lib/systemd/systemd-journald
├─atd.service (#3961)
│ → user.invocation_id: 1c59679265ab492482bfdc9c02f5eec5
│ └─2146 /usr/sbin/atd -f
├─sshd.service (#3757)
│ → user.invocation_id: 57e195491341431298db233e998fb180
│ └─2097 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
├─crond.service (#3995)
│ → user.invocation_id: 4f5b380a53db4de5adcf23f35d638ff5
│ └─2150 /usr/sbin/crond -n
...
Die vorhergehende Beispielausgabe zeigt, wie sich alle "*.slice"-Kontrollgruppen unter dem Root-Bereich -.slice befinden. Unter dem Root-Bereich werden die Kontrollgruppen user.slice und system.slice angezeigt, die jeweils ihre eigenen untergeordneten cgroup-Unterbereiche haben.
Wenn Sie die Ausgabe des Befehls systemd-cgls untersuchen, können Sie sehen, wie sich mit Ausnahme von Root -.slice alle Prozesse auf Blattknoten befinden. Diese Anordnung wird durch cgroups v2 in einer Regel erzwungen, die als Regel "keine internen Prozesse" bezeichnet wird. Weitere Informationen zur Regel "keine internen Prozesse" finden Sie unter cgroups (7).
Die Ausgabe im vorherigen systemd-cgls Befehlsbeispiel zeigt auch, wie Bereiche untergeordnete Kontrollgruppen haben können, die systemd-Geltungsbereiche sind. systemd-Geltungsbereiche werden im folgenden Abschnitt geprüft.
systemd Geltungsbereiche
Der Geltungsbereich systemd ist ein Einheitstyp systemd, der Systemservice-Worker-Prozesse gruppiert, die unabhängig von systemd gestartet wurden. Die Geltungsbereichseinheiten sind transiente cgroups, die programmgesteuert mit den Busschnittstellen von systemd erstellt werden.
Beispiel: Im folgenden Beispielcode hat der Benutzer mit UID 1001 den Befehl systemd-cgls ausgeführt, und die Ausgabe zeigt, dass session-2.scope für Prozesse erstellt wurde, die der Benutzer unabhängig von systemd gestartet hat (einschließlich des Prozesses für den Befehl selbst, 21380 sudo systemd-cgls):
Im folgenden Beispiel wurde der Befehl im Mount Point der Kontrollgruppe
/sys/fs/cgroup/ ausgeführt. Daher beginnt die Ausgabe anstelle des Root-Bereichs am cgroup-Speicherort, von dem aus der Befehl ausgeführt wurde.sudo systemd-cgls
Working directory /sys/fs/cgroup:
...
├─user.slice (#1429)
│ → user.invocation_id: 604cf5ef07fa4bb4bb86993bb5ec15e0
│ → trusted.invocation_id: 604cf5ef07fa4bb4bb86993bb5ec15e0
...
│ └─user-1001.slice (#7225)
│ → user.invocation_id: ce93ad5f5299407e9477964494df63b7
│ → trusted.invocation_id: ce93ad5f5299407e9477964494df63b7
│ ├─session-2.scope (#7463)
│ │ ├─20304 sshd: oracle [priv]
│ │ ├─20404 sshd: oracle@pts/0
│ │ ├─20405 -bash
│ │ ├─21380 sudo systemd-cgls
│ │ ├─21382 systemd-cgls
│ │ └─21383 less
│ └─user@1001.service … (#7293)
│ → user.delegate: 1
│ → trusted.delegate: 1
│ → user.invocation_id: 70284db060c1476db5f3633e5fda7fba
│ → trusted.invocation_id: 70284db060c1476db5f3633e5fda7fba
│ └─init.scope (#7327)
│ ├─20395 /usr/lib/systemd/systemd --user
│ └─20397 (sd-pam)
Resource Controller-Optionen festlegen und benutzerdefinierte Bereiche erstellen
Demonstriert drei Ansätze – Unit-Dateien, Drop-ins und systemctl set-property – für die Feinabstimmung von Resource Controllern und Slice-Layouts.
systemd bietet die folgenden Methoden zum Festlegen von Ressourcencontrolleroptionen, wie CPUWeight, CPUQuota usw., zum Anpassen der Ressourcenzuweisung auf dem System:
-
Diensteinheitendateien werden verwendet.
-
Drop-in-Dateien verwenden.
-
Verwenden Sie den Befehl
systemctl set-property.
Die folgenden Abschnitte enthalten Beispielverfahren für die Verwendung jeder dieser Methoden zur Konfiguration von Ressourcen und Bereichen im System.
Serviceeinheitendateien verwenden
So legen Sie Optionen in einer Serviceeinheitendatei fest:
Drop-in-Dateien verwenden
Um Ressourcen mit einer Drop-in-Datei zu konfigurieren, gehen Sie wie folgt vor:
Verwendung von systemctl set-property
Mit dem Befehl systemctl set-property werden die Konfigurationsdateien in folgendem Verzeichnis abgelegt:
/etc/systemd/system.control
Sie dürfen die vom Befehl "systemctl set-property" erstellten Dateien nicht manuell bearbeiten.
Der Befehl systemctl set-property erkennt nicht jede Resource-Control-Eigenschaft, die in den zuvor in diesem Thema behandelten Dateien mit system-unit und drop-in verwendet wird.
Das folgende Verfahren zeigt, wie Sie mit dem Befehl systemctl set-property die Ressourcenzuweisung konfigurieren können: