Anzahl gleichzeitig geöffneter Dateien hochsetzen
Mit dem Einzug von systemd in Debian funktioniert die Methode über die limits.conf nicht mehr (dort werden trotzdem noch die user level limits gesetzt). Die Anzahl der gleichzeitig geöffneten Files wird nun in der sysctl.conf und/oder über das systemd-unit-script gesetzt.
Systemd-Style, der systemctl edit wird eine Override-Datei in /etc/system/systemd/<service-name> anlegen:
systemctl edit mysql.service
[Service]
LimitNOFILE=65536
Hier die Version ohne Systemd:
Aktuellen Wert herausfinden:
# sysctl fs.file-nr fs.file-nr = 3264 0 1637554
Ich habe den Wert nun einfach x3 genommen und in der sysctl.conf hinterlegt:
# set max number of open files fs.file-max=4912662
Aktiviert wird der Eintrag mit sysctl –system
. Kontrolliert wird das Setting über das Kommando oben.
Für ein Limit im user-level Bereich läßt sich das limits.conf verwenden. Kontrolliert werden kann das Setting über ulimit -n
.
In /etc/security/limits.conf folgenden Eintrag vornehmen
- /etc/security/limits.conf
-
* soft nofile 4096 * hard nofile 4096 # oder per user meinuser soft nofile 8192 meinuser hard nofile 8192
Achtung bei openssh-server Versionen kleiner 3.8 ist nach dieser Änderung kein Einloggen via SSH mehr möglich. Folgende Fehlermeldung taucht dabei im Log auf:
Nov 8 09:23:03 XXX sshd[18108]: fatal: PAM session setup failed[6]: Permission denied
Dies kann behoben werden durch:
-
Ein Update auf eine aktuellere Version oder
-
Setzen der Parameter
UsePrivilegeSeparation no
undPAMAuthenticationViaKbdInt yes
in /etc/ssh/sshd_config. Dies ist aber unsicher und nicht empfohlen.