Я делаю чистую установку на моем 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
Спасибо всем