Ändern und Anwenden von limits.conf ohne Neustart

14

Ich habe eine Zeile hinzugefügt /etc/security/limits.conf, um die Anzahl der geöffneten Dateien zu erhöhen.

*    hard nofile 4096
root hard nofile 16384

Wenn ich es jedoch ausführe ulimit -n, wird 1024 angezeigt, was der Standardwert ist. Ich habe mich abgemeldet und angemeldet, sehe aber immer noch 1024. Wie kann ich die Änderung anwenden?

Mahmood
quelle

Antworten:

7

Wenn Sie verwenden bash, ulimit -nwird nur das Soft-Limit angezeigt. Um das harte Limit zu erreichen, müssen Sie dies tun ulimit -Hn.

Auf meinem System sehe ich Folgendes:

$ ulimit -n
1024
$ ulimit -Hn
4096
Flup
quelle
16

Änderungen auf ulimitBefehl:

$ ulimit -n 4096
$ ulimit -Hn 16384

gilt nur für den aktuellen Benutzer und die aktuelle Sitzung. Um es dauerhaft zu machen, müssen Sie Änderungen vornehmen, /etc/security/limits.confindem Sie Ihre Grenzwerte hinzufügen:

* soft nofile 4096
* hard nofile 16384

Platzhalter *gelten jedoch nicht für rootBenutzer. Dazu müssen Sie es explizit angeben:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Diese Grenzwerte werden nach dem Neustart angewendet .

Wenn Sie Änderungen ohne Neustart übernehmen möchten , ändern Sie /etc/pam.d/common-sessiondiese, indem Sie diese Zeile am Ende der Datei hinzufügen:

session required pam_limits.so

Bei der nächsten Anmeldung sollten aktualisierte Grenzwerte angezeigt werden. Sie können diese überprüfen (weiche und harte Grenzwerte):

$ ulimit -a
$ ulimit -Ha
Tombart
quelle
2
Ich hatte ein Problem mit diesem Ansatz, das wirklich seltsam war. Ich benutze Ubuntu 14 und aktiviert pam_limits.soin /etc/pam.d/common-session. Ich habe in /etc/security/limits.confBenutzer x so konfiguriert , dass für nofile64000 feste und weiche Grenzwerte gelten. sudo -u xDann ulimit -awird mir angezeigt , dass die Änderungen nicht angewendet wurden. Ich erkannte , dass suund sudohaben unterschiedliche pam Konfigurationen so , um es funktioniert richtig brauchte ich das zu ermöglichen , pam_limits.soin /etc/pam.d/common-session-noninteractive. Wenn Sie sich fragen, was der Anwendungsfall ist, verwende ich ansible und sudo, um den Benutzer zu wechseln.
Hahcho
1
Aus irgendeinem Grund musste ich es hinzufügen, /etc/pam.d/common-session-noninteractivedamit es funktioniert.
Sumit