„Fork fehlgeschlagen“ beim Verwenden meiner Entwicklungsumgebung

„Fork fehlgeschlagen“ beim Verwenden meiner Entwicklungsumgebung

Ich bin Softwareentwickler und verwende hauptsächlich Java unter Arch Linux. In letzter Zeit treten in meiner Entwicklungsumgebung und im System selbst häufig Ressourcenausfälle auf.

Beim Starten aller von mir normalerweise verwendeten Anwendungen treten auf dem System beispielsweise folgende Fehler auf:

In zsh:

mlenz@loki ~/[redacted] (git)-[master] % cd ..
VCS_INFO_detect_git:9: fork failed: resource temporarily unavailable

In Eclipse (meine IDE):

Unhandled event loop exception
unable to create new native thread

In Wildfly (dem Anwendungsserver, den wir für das aktuelle Projekt verwenden) während des Starts:

13:19:54,962 ERROR [org.xnio.listener] (XNIO-1 I/O-2) XNIO001007: A channel event listener threw an exception: java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:714)
...

Ich vermutete einige ulimitProbleme, entweder das nproc- oder nofile-Limit, aber es gelang mir, sie auf einige ungewöhnlich große Werte einzustellen, ohne dass das Problem behoben wurde:

mlenz@loki ~ % ulimit -a               
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-m: resident set size (kbytes)      unlimited
-u: processes                       256106
-n: file descriptors                65535
-l: locked-in-memory size (kbytes)  1024
-v: address space (kbytes)          unlimited
-x: file locks                      unlimited
-i: pending signals                 63787
-q: bytes in POSIX msg queues       819200
-e: max nice                        0
-r: max rt priority                 0
-N 15:                              unlimited

Ich habe auch festgestellt, dass das Problem möglicherweise an einer systemweiten Beschränkung der Kernelressourcen liegt, beispielsweise an der Anzahl der Dateihandles, obwohl /proc/sys/fs/file-nretwas anderes behauptet wird:

mlenz@loki ~ % cat /proc/sys/fs/file-nr 
13312   0   1629104

Unser Systemadministrator hat nachgesehen lsofund fand, dass die Zeilenanzahl dort extrem hoch war. Ich habe aber auch den Computer eines anderen Kollegen überprüft und auch dieser hatte eine ähnlich hohe Zeilenanzahl:

mlenz@loki ~ % lsof | wc -l
228787

Meine Entwicklungsumgebung ist ziemlich ungewöhnlich, da ich normalerweise zwei Wildfly-Anwendungsserver starte (einer ist eine Art Dummy für ein externes System, während der andere für unsere Anwendung verwendet wird). Das Problem scheint nur aufzutreten, wenn ich beide Anwendungsserver zusammen mit einigen anderen Anwendungen starte, die ich auf meinem Computer verwende. Auf meinem System laufen viele Dienste, daher muss ich möglicherweise einige Grenzen erhöhen, die das System erreicht, aber ich habe absolut keine Ahnung, welche es sein könnten.

Irgendwelche Ideen, was ich möglicherweise übersehe oder was ich überprüfen kann, um festzustellen, was nicht stimmt?

verwandte Informationen