GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Max offene Dateien für den Arbeitsprozess

echo -n "Max open files=20:20" > /proc/$pid/limits

...funktioniert in RHEL5.5 und RHEL6.7.

Beachten Sie, dass das "-n" obligatorisch ist; ein abschließender Zeilenumbruch erzeugt eine Beschwerde über ungültige Argumente.


Eine andere Möglichkeit ist die Verwendung des Befehls prlimit (aus dem Paket util-linux). Wenn Sie beispielsweise die maximale Anzahl geöffneter Dateien für einen laufenden Prozess auf 4096 festlegen möchten:

prlimit -n4096 -p pid_of_process


Sie könnten gdb verwenden, in den Prozess einbrechen, die oben genannten Syscalls aufrufen, um das Limit zu erhöhen, an dem Sie interessiert sind, dann den Job fortsetzen und gdb beenden. Ich habe einige Male auf diese Weise spontan Dinge bearbeitet.

Ihre App wäre nicht heruntergefahren, sondern nur für den Moment eingefroren, während Sie den Anruf getätigt haben. Wenn Sie schnell sind (oder Sie es skripten!), wird es wahrscheinlich nicht auffallen.


Als Systemadministrator :Der /etc/security/limits.conf Datei steuert dies bei den meisten Linux-Installationen; Es ermöglicht Ihnen, Limits pro Benutzer festzulegen. Sie brauchen eine Zeile wie myuser - nofile 1000 .

Innerhalb eines Prozesses :Die getrlimit- und setrlimit-Aufrufe steuern die meisten Ressourcenzuweisungsgrenzen pro Prozess. RLIMIT_NOFILE steuert die maximale Anzahl von Dateideskriptoren. Zum Aufrufen benötigen Sie entsprechende Berechtigungen.


Linux
  1. Überprüfen Sie das offene FD-Limit für einen bestimmten Prozess in Linux

  2. Geöffnete Dateien pro Vorgang zählen

  3. Die maximal geöffneten Dateien pro Prozess können nicht mit sysctl geändert werden

  4. Process Monitor-Äquivalent für Linux?

  5. So verhindern Sie, dass ein Prozess Dateien schreibt

5 Open-Source-Puzzlespiele für Linux

ls-Befehl in Linux zum Auflisten von Dateien

Umask für Sshfs-gemountetes Dateisystem festlegen?

Befehle für das Prozessmanagement in Linux

Aufruf an Betriebssystem zum Öffnen der URL?

Wie setze ich nginx max offene Dateien?