«Fork failed» при использовании моей среды разработки

«Fork failed» при использовании моей среды разработки

Я разработчик программного обеспечения, в основном использующий Java на Arch Linux. В последнее время я испытываю много сбоев ресурсов, как в моей среде разработки, так и в самой системе.

При запуске всех приложений, которые я обычно использую, система начинает выдавать ошибки, например:

В зш:

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

В Eclipse (моя IDE):

Unhandled event loop exception
unable to create new native thread

В Wildfly (сервере приложений, который мы используем для текущего проекта) во время запуска:

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)
...

Я подозревал, что существуют ulimitпроблемы, связанные с ограничением nprocили nofile, но мне удалось установить для них необычно большие значения, но проблема не была устранена:

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

Я также обнаружил, что проблема может заключаться в ограничении ресурсов ядра всей системы, например, в количестве дескрипторов файлов, хотя /proc/sys/fs/file-nrутверждается обратное:

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

Наш системный администратор проверил lsofи посчитал, что количество строк там чрезвычайно велико, но я также проверил компьютер другого коллеги, и у него там было такое же большое количество строк:

mlenz@loki ~ % lsof | wc -l
228787

Моя среда разработки довольно необычна, в том смысле, что я обычно запускаю 2 сервера приложений Wildfly (один — своего рода фиктивный для внешней системы, а другой используется для нашего приложения). Проблема, похоже, возникает только тогда, когда я запускаю оба сервера приложений вместе с некоторыми другими приложениями, которые я использую на своем компьютере. В моей системе запущено много служб, поэтому мне, возможно, придется увеличить какой-то предел, которого достигает система, но я понятия не имею, какой именно.

Есть идеи, что я упускаю или что я могу проверить, чтобы понять, в чем проблема?

Связанный контент