Wie lege ich eine Begrenzung für die Anzahl der Dateien fest, die Linux öffnen kann?

Wie lege ich eine Begrenzung für die Anzahl der Dateien fest, die Linux öffnen kann?

Ich plane, eine Java-App mit auszuführen nohup ... &. Die Beschränkung muss für Befehle wie diese gelten.

Antwort1

Die meisten Systeme verwendenPAM, und lassen Sie das pam_limitsModul Limits basierend auf festlegen /etc/security/limits.conf. Das Limit pro Benutzer für geöffnete Dateien wird genannt nofile. Sie können es für jeden Benutzer oder für einen bestimmten Benutzer oder eine bestimmte Gruppe festlegen, und Sie können ein Limit festlegen, das der Benutzer außer Kraft setzen kann (weiches Limit) und ein anderes, das nur Root außer Kraft setzen kann (hartes Limit). DasDokumentationund die limits.confManpage enthält die Details. Um beispielsweise das Limit für alle auf 50000 zu erhöhen, fügen Sie diese Zeile ein /etc/limits.conf(die Einstellung wird wirksam, wenn Sie sich anmelden):

* - nofile 50000

Antwort2

Sie können hinzufügen fs.file-max = <your number>. /etc/sysctl.confStarten Sie dann neu.

Antwort3

ulimit -n

können Sie die Einstellungen pro Prozess ändern und

/proc/sys/fs/file-max

oder die aufgerufene sysctl-Variable fs.file-maxkann zum Lesen und Setzen des systemweiten Wertes verwendet werden

Antwort4

Verwenden Sie ulimit (Bash-Befehl – ​​man bash oder suchen Sie nach einem ähnlichen Befehl für Ihre Shell) pro Programminstanz. Verwenden Sie keine globalen Systemlimits, wenn Sie nicht wissen, was Sie tun – möglicher DoS-Verstoß.

verwandte Informationen