Dies geschieht unter Ubuntu Release 12.04 (präzise) 64-Bit-Kernel Linux 3.2.0-25-virtual
Ich versuche, die Anzahl der für einen Benutzer zulässigen offenen Dateien zu erhöhen. Dies ist für meine Eclipse Java-Anwendung, bei der das aktuelle Limit von 1024 nicht ausreicht.
Nach den Beiträgen, die ich bisher gefunden habe, sollte ich in der Lage sein, Zeilen in zu setzen
/etc/security/limits.conf wie folgt:
soft nofile 4096
hard nofile 4096
um die Anzahl der geöffneten Dateien zu erhöhen, die für alle Benutzer zulässig sind.
Aber das funktioniert bei mir nicht und ich denke, das Problem hängt nicht mit dieser Datei zusammen.
Für alle Benutzer ist das Standardlimit 1024, unabhängig davon, was sich in /etc/security/limits.conf befindet. (Ich habe nach dem Ändern dieser Datei einen Neustart durchgeführt.)
$ ulimit -n
1024
Nun, trotz der Einträge in /etc/security/limits.conf kann ich das nicht erhöhen:
$ ulimit -n 2048
-bash: ulimit: open files: Limit kann nicht geändert werden : Operation nicht erlaubt Der seltsame Teil ist, dass ich das Limit nach unten , aber nicht nach oben ändern kann - sogar um zu einer Zahl zurückzukehren, die unter dem ursprünglichen Limit liegt:
$ ulimit -n 800
$ ulimit -n
800
$ ulimit -n 900
-bash: ulimit: open files: cannot modify limit: Operation not permitted
Als Root kann ich dieses Limit nach Belieben ändern, nach oben oder unten. Die angeblich systemweite Beschränkung in / proc / sys / fs / file-max scheint es nicht einmal zu interessieren
# cat /proc/sys/fs/file-max
188897
# ulimit -n 188898
# ulimit -n
188898
Aber selbst wenn ich Eclipse als Root ausführen lasse, stürzt meine Anwendung aufgrund der Ausnahme "Too Many Open File" immer noch ab!
Bisher habe ich keine Möglichkeit gefunden, das Limit für geöffnete Dateien für einen Benutzer ohne Rootberechtigung zu erhöhen.
Wie soll ich das richtig machen? Ich habe mehrere andere Beiträge angeschaut, aber kein Glück!
/etc/security/limits.conf
möglicherweise abmelden und wieder anmelden müssen, bevor Sie das neue maximale Limit verwenden können. Ich tat dies und war verblüfftulimit -Hs
, als ich noch 1000 zeigte, als ich es gerade auf 1000000 erhöht hatte! Dann loggte ich mich aus und wieder ein und ulimit zeigte den neuen Betrag an.