Дженкинс как служба Windows выбросить из памяти - PullRequest
0 голосов
/ 07 марта 2012

Я установил jenkins как службу windows и создал задание, которое будет вызывать скрипты ant.Сценарии Ant состоят из компилятора mxmlc, который компилирует приложения flex.При компиляции это не удалось и выдает исключение вне памяти.Я настроил ant_opts для выделения памяти, но безрезультатно.Но когда я пытаюсь запустить jenkins в автономном режиме, проблема не возникает.

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

Exceptions:
[javac] Compiling 163 source files to ....
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
 [copy] Copying 21 files to ....
[mxmlc] Loading configuration file ...
[mxmlc] ...
[mxmlc] Loading configuration file ...
[mxmlc] ...
[mxmlc] Loading configuration file ...
[mxmlc] ...
[mxmlc] Loading configuration file ...
[mxmlc] ...
[mxmlc] Loading configuration file C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.5.0\frameworks\flex-config.xml
[mxmlc] Error: PermGen space
[mxmlc] 
[mxmlc] java.lang.OutOfMemoryError: PermGen space
[mxmlc]     at java.lang.ClassLoader.defineClass1(Native Method)
[mxmlc]     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
[mxmlc]     at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
[mxmlc]     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
[mxmlc]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
[mxmlc]     at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
[mxmlc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
[mxmlc]     at java.security.AccessController.doPrivileged(Native Method)
[mxmlc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[mxmlc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[mxmlc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
[mxmlc]     at org.apache.xerces.parsers.DTDConfiguration.createEntityManager(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.DTDConfiguration.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.StandardParserConfiguration.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.IntegratedParserConfiguration.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.XML11Configuration.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.XML11Configuration.<init>(Unknown Source)
[mxmlc]     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[mxmlc]     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
[mxmlc]     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[mxmlc]     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
[mxmlc]     at java.lang.Class.newInstance0(Class.java:355)
[mxmlc]     at java.lang.Class.newInstance(Class.java:308)
[mxmlc]     at org.apache.xerces.util.ObjectFactory.newInstance(Unknown Source)
[mxmlc]     at org.apache.xerces.util.ObjectFactory.findJarServiceProvider(Unknown Source)
[mxmlc]     at org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
[mxmlc]     at org.apache.xerces.util.ObjectFactory.createObject(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
[mxmlc]     at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
[mxmlc]     at flex2.compiler.config.FileConfigurator.load(FileConfigurator.java:113)

1 Ответ

0 голосов
/ 02 марта 2015

Если у вас заканчивается пространство Permgen, попробуйте увеличить объем доступной памяти, настроив параметры для JVM.

Файл jenkins.jenkins \ jenkins.xml содержит настройки службы для службы Windows: вот копия нашей.

<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins continuous integration system.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <!--
    if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
    The following value assumes that you have java in your PATH.
  -->
  <executable>java</executable>
  <arguments>-Xrs -Xmx512m -XX:MaxPermSize=512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Hudson\.hudson\jenkins.war" --httpPort=80</arguments>
  <logmode>rotate</logmode>
</service>

Параметр -XX: MaxPermSize = 512m был добавлен на прошлой неделе для решения проблемы, очень похожей на вашу.

...