it-swarm.com.de

Erfordern Änderungen in /etc/security/limits.conf einen Neustart?

Erfordern Änderungen in /etc/security/limits.conf Einen Neustart, bevor sie wirksam werden?

Wenn ich beispielsweise ein Skript habe, das die folgenden Grenzwerte in /etc/security/limits.conf Festlegt, erfordert dies einen Neustart des Systems, bevor diese Grenzwerte wirksam werden?

* hard nofile 94000
* soft nofile 94000
* hard nproc 64000
* soft nproc 64000
152
Alexej Magura

Nein, aber Sie sollten alle aktiven Sitzungsfenster schließen. Sie erinnern sich noch an die alten Werte. Mit anderen Worten, melden Sie sich ab und wieder an. Jede neue Remote-Sitzung oder eine lokale sichere Shell wirkt sich auf die Änderungen Grenzwerte aus.

117
Slyx

Wenden Sie die Änderungen direkt auf einen laufenden Prozess an, wenn Sie prlimit installiert haben (wird mit util-linux-2.21 geliefert).

prlimit --pid <pid> --<limit>=<soft>:<hard>

zum Beispiel

prlimit --pid 12345 --nofile=1024:2048

Siehe hier

38
Ram

So legen Sie vorübergehend das Limit für geöffnete Dateien für den Benutzer fest, unter dem Sie derzeit angemeldet sind (z. B. 'root'): Sie können auch den Befehl ulimit verwenden, um die Werte in Ihrer aktuellen Shell zu ändern. Harte Limits können jedoch nur nach unten angepasst werden, wenn Sie nicht root sind.

Beispiel:

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62449
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Um nofile in 940 zu ändern, haben Sie folgende Möglichkeiten:

ulimit -n 94000
30
Boogy

Limits werden von einem übergeordneten Prozess an seine untergeordneten Prozesse vererbt. Prozesse, die als Root ausgeführt werden, können die Grenzwerte beliebig ändern. Andere Prozesse können die harten Grenzen nicht erhöhen. Daher wirken sich die vom Anmeldevorgang festgelegten harten Grenzen auf alle Prozesse in einer Sitzung aus.

Wenn Sie /etc/security/limits.conf, dies wirkt sich auf alle neuen Sitzungen und Prozesse in diesen neuen Sitzungen aus. Es wirkt sich weder auf Prozesse aus, die bereits ausgeführt werden, noch auf Prozesse, die von bereits ausgeführten Prozessen gestartet wurden.

Wenn Sie also einige Grenzwerte erhöhen müssen, müssen Sie sich entweder abmelden und wieder anmelden oder eine andere Sitzung starten (z. B. mit ssh localhost oder auf einer anderen Konsole).

Um zu zitieren @ Tombarts Antwort

Diese Grenzwerte werden nach dem Neustart angewendet.

Wenn Sie Änderungen ohne Neustart übernehmen möchten, ändern Sie /etc/pam.d/common-session durch Hinzufügen dieser Zeile am Ende der Datei:

session required pam_limits.so
6
serv-inc