Ich plane, eine Java-App mit auszuführen nohup ... &
. Das Limit muss für solche Befehle gelten.
open-files
limit
Ricardo Altamirano
quelle
quelle
Antworten:
Die meisten Systeme verwenden PAM und haben das
pam_limits
Modul basierend auf Grenzwerten festgelegt/etc/security/limits.conf
. Das Benutzerlimit für geöffnete Dateien wird aufgerufennofile
. Sie können es für jeden Benutzer oder für einen bestimmten Benutzer oder eine bestimmte Gruppe festlegen und ein Limit festlegen, das der Benutzer überschreiben kann (weiches Limit), und ein anderes, das nur root überschreiben kann (hartes Limit). Die Dokumentation und dielimits.conf
Manpage enthalten die Details. Um beispielsweise das Limit für alle auf 50000 zu erhöhen, geben Sie diese Zeile ein/etc/limits.conf
(die Einstellung wird wirksam, wenn Sie sich anmelden):quelle
Sie können hinzufügen
fs.file-max = <your number>
in/etc/sysctl.conf
. Dann neu starten.quelle
sysctl fs.file-max=123456
. (/etc/sysctl.conf
Wird beim Booten von einem Skript gelesen, dassysctl
den Inhalt aufruft .)kann pro Prozess Einstellungen ändern und
oder die aufgerufene Variable sysctl
fs.file-max
kann zum Lesen und Festlegen des systemweiten Werts verwendet werdenquelle
Sie können ulimit dafür verwenden:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Sie sollten jedoch sicherstellen, dass das Öffnen so vieler Dateihandles unbedingt erforderlich ist, bevor Sie auf solche Anpassungen zurückgreifen. Das Erhöhen der maximalen Dateihandles, nur weil Sie vergessen haben, einen inputstream.close () in einer Schleife auszuführen, verzögert nur das zugrunde liegende Problem.
quelle
vi ~ / .bashrc Und fügen Sie am Ende der Datei eine Zeile hinzu
quelle
Verwenden Sie pro Programminstanz ulimit (Bash command - man bash oder ähnliche für Ihre Shell finden). Verwenden Sie keine globalen Systemlimits, wenn Sie nicht wissen, was Sie tun - mögliche DoS.
quelle