In diesem Beitrag wird erläutert, wie Sie die ulimit-Limits ändern, z. B. die maximale Anzahl offener Dateien für einen systemd-Dienst. In einem CentOS/RHEL 7- oder 8-System haben die in /etc/security/limits.conf oder /etc/security/limits.d/ vorgenommenen Änderungen keine Auswirkungen auf systemd-Dienste.
Systemd ignoriert absichtlich die systemweiten ulimit-Einstellungen, um unbeabsichtigte oder unerwartete Grenzwertänderungen zu minimieren, die durch Shell-Profile und Skripte verursacht werden.
Sie können für einen bestimmten Dienst ein neues Limit für maximal geöffnete Dateien festlegen, z. B. wie folgt:
1. Identifizieren Sie name.service gewünschte Datei in /usr/lib/systemd/system .
2. Kopieren Sie diese Datei nach /etc/systemd/system Verzeichnis.
3. Bearbeiten Sie die kopierte Datei in /etc/systemd/system und fügen Sie die Zeile hinzu:
LimitNOFILE=2048
4. Starten Sie den Dienst neu:
# systemctl restart [service name]
Aktualisiere die ulimit-Werte global für alle systemd-Dienste
Alternativ können Sie das gleiche Limit für ALLE systemd-Dienste wie folgt aktualisieren:
1. Bearbeiten Sie /etc/systemd/system.conf und kommentieren Sie die Zeile „#DefaultLimitNOFILE=“ aus und hängen Sie die gewünschte Nummer an.
2. Starten Sie das System neu:
# systemctl reboot