Systemlimits ändern für systemd Services unter Ubuntu 16.04 am Beispiel Redis

Wie schon in meinem Artikel Owncloud auf dem 1&1 Cloud Server beschrieben, schreibt der Memory Cache Redis  in der Standard-konfiguration beim Start die folgende Warnung in sein logfile:

Wenn weniger clients benötigt werden, kann wie im oben angegebenen Artikel beschrieben, die Redis Konfiguration angepasst werden.

Wenn Sie die größere Anzahl an Clients benötigen, muss das Limit für offene Dateien für den Redis Prozess angepasst werden. Ich musste auch eine Weile suchen. Die meisten Treffer bei meiner Suche liefern Ergebnisse, die für Prozesse, die von systemd gestartet werden, nicht funktionieren. Letztendlich bin ich aber fündig geworden. Den Tip für die richtige Richtung liefern die folgenden beiden Artikel:

Debian 8.4 jessie set open files limit for redis user

und

Debian 8 Systemd Change Service Ulimit

Die Lösung für alle systemd Prozesse, auch für andere Limits, bringt wie immer, das Studium des Manuals, in diesem Falle SYSTEMD.UNIT(5). Das Ändern der Vendor Dateien unter dem Pfad /lib/systemd/ wird nicht empfohlen. Statt dessen erzeugen wir ein „drop-in“ File, das zusätzlich zum Service File gelesen wird.

Hierzu legen wir ein Verzeichnis für unser „drop-in“ File an.

mkdir /etc/systemd/system/redis-server.service.d

Alle Dateien *.conf in diesem Verzeichnis, werden beim Start unseres Redis Prozesses gelesen. In diesem Verzeichnis legen wir eine Datei limits.conf mit folgendem Inhalt an:

Anschliessend muss dem systemd Prozess mitgeteilt werden, dass er seine Konfiguration neu laden soll und der Redis Prozess muss neu gestartet werden.

Andere Limit Direktiven sind die Folgenden:

Siehe hierzu auch die Systemd default Konfiguration in /etc/systemd/system.conf.

Hier werden die Default Werte für die Limits konfiguriert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.