modifizieren und gelten limits.conf ohne Neustart

39211
mahmood

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 jedoch laufe ulimit -n, heißt es 1024, was der Standardwert ist. Ich habe mich abgemeldet und eingeloggt, aber immer noch 1024 angezeigt. Wie kann ich die Änderung anwenden?

10

2 Antworten auf die Frage

12
Tombart

Durch ulimitBefehl vorgenommene Änderungen :

$ 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 /etc/security/limits.confIhre Limits 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 anzuwenden, ohne Neustart, ändern, /etc/pam.d/common-sessionindem Sie diese Zeile am Ende der Datei:

session required pam_limits.so 

Beim nächsten Login sollten Sie aktualisierte Limits sehen. Sie können sie überprüfen (weiche und harte Limits):

$ ulimit -a $ ulimit -Ha 
Ich hatte ein Problem mit diesem Ansatz, was wirklich seltsam war. Ich benutze Ubuntu 14 und habe `pam_limits.so` in` / etc / pam.d / common-session` aktiviert. Ich habe den Benutzer x in `/ etc / security / limits.conf` so konfiguriert, dass er harte und weiche Grenzwerte für` nofile` 64000 hat. `Sudo -ux` und` ulimit -a` zeigt mir an, dass die Änderungen nicht übernommen wurden. Mir wurde klar, dass `su` und` sudo` unterschiedliche PAM-Konfigurationen haben. Damit es richtig funktioniert, musste ich `pam_limits.so` in` / etc / pam.d / common-session-noninteractive` aktivieren. Wenn Sie sich fragen, was der Anwendungsfall ist, verwende ich ansible und sudo, um den Benutzer zu wechseln. hakcho vor 6 Jahren 1
Aus irgendeinem Grund musste ich es zu `/ etc / pam.d / common-session-noninteractive` hinzufügen, damit es funktioniert. Sumit vor 5 Jahren 0
6
Flup

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

Auf meinem System sehe ich Folgendes:

$ ulimit -n 1024 $ ulimit -Hn 4096