(Решено) Jenkins - Невозможно создать новую нить - PullRequest
0 голосов
/ 26 апреля 2020

Я делаю чистую установку на моем VPS-сервере Debian 9 с 4 ГБ ОЗУ и 2 ЦП.

Установка выполняется успешно, но, когда я настраиваю любой проект MAVEN, (при Java 8) я получаю следующая ошибка:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at jenkins.maven3.agent.Maven35Main.main(Maven35Main.java:137)
    at jenkins.maven3.agent.Maven35Main.main(Maven35Main.java:65)
Caused by: java.lang.OutOfMemoryError: unable to create new native thread
    at java.lang.Thread.start0(Native Method)
    at java.lang.Thread.start(Thread.java:717)
    at hudson.remoting.AtmostOneThreadExecutor.execute(AtmostOneThreadExecutor.java:95)
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
    at hudson.remoting.RemoteInvocationHandler$Unexporter.watch(RemoteInvocationHandler.java:826)
    at hudson.remoting.RemoteInvocationHandler$Unexporter.access$100(RemoteInvocationHandler.java:409)
    at hudson.remoting.RemoteInvocationHandler.wrap(RemoteInvocationHandler.java:166)
    at hudson.remoting.Channel.<init>(Channel.java:582)
    at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:360)
    at hudson.remoting.Launcher.main(Launcher.java:770)
    at hudson.remoting.Launcher.main(Launcher.java:751)
    at hudson.remoting.Launcher.main(Launcher.java:742)
    at hudson.remoting.Launcher.main(Launcher.java:738)
    ... 6 more
Finished: FAILURE

Я сделал некоторые изменения, но ничего не работает.


Попробуйте 1 (не работает): Ulimit Configuration

См. текущие ограничения вашего system, запустите ulimit -a в командной строке, когда пользователь запускает Jenkins (обычно jenkins).

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 30
file size               (blocks, -f) unlimited
pending signals                 (-i) 30654
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 99
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Увеличение лимитов, добавление этих строк в /etc/security/limits.conf:

jenkins      soft   nofile  4096
jenkins      hard   nofile  8192
jenkins      soft   nproc   30654        
jenkins      hard   nproc   30654

Получите ту же ошибку


Попробуйте 2 (не работает): MAVEN_OPTS

Добавление некоторых параметров в конфигурацию maven.

-Xmx256m -Xss228k

Получить ту же ошибку


Попытка 3 (не работает): задание по умолчанию Макс.

Обновление задания по умолчанию Макс.

nano /etc/systemd/system.conf

Вставьте следующую строку в файл

DefaultTasksMax=10000

Перезагрузите систему.

Получите ту же ошибку


Попробуйте 4 ( S olved): уменьшение размера стека потоков

Доступ к файлу конфигурации Jenkins по адресу:

nano /etc/default/jenkins

Изменение JAVA_ARGS при развертывании.

JAVA_ARGS="-Xmx3584m -XX:MaxPermSize=512m -Xms128m -Xss256k -Djava.awt.headless=true"

( Для 4 Гб оперативной памяти)

Перезагрузите службу Jenkins

systemctl restart jenkins

Спасибо всем

...