`
MyEyeOfJava
  • 浏览: 1149880 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71078
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

[jenkins]解决jenkins内存溢出问题

阅读更多
在jenkins master-slave配置中,总是出现内存溢出问题,更换了机器设备仍然跑不起来:

问题如下:
Status Code: 500

Exception: org.apache.commons.jelly.JellyTagException: jar:file:/Users/alibaba/.jenkins/war/WEB-INF/lib/jenkins-core-1.512.jar!/hudson/model/Run/console.jelly:65:27: <j:whitespace> Java heap space
Stacktrace: 
javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/Users/alibaba/.jenkins/war/WEB-INF/lib/jenkins-core-1.512.jar!/hudson/model/Run/console.jelly:65:27: <j:whitespace> Java heap space
	at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:103)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
	at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:384)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:241)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:677)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:583)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:214)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
	at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
	at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
	at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
	at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
	at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227)
	at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.commons.jelly.JellyTagException: jar:file:/Users/alibaba/.jenkins/war/WEB-INF/lib/jenkins-core-1.512.jar!/hudson/model/Run/console.jelly:65:27: <j:whitespace> Java heap space
	at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:745)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:289)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
	at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
	at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
	at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
	at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44)
	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
	at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
	at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
	at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:95)
	... 60 more
Caused by: java.lang.OutOfMemoryError: Java heap space
	at java.lang.String.replace(String.java:2057)
	at sun.reflect.AccessorGenerator.internalize(AccessorGenerator.java:402)
	at sun.reflect.AccessorGenerator.getClassName(AccessorGenerator.java:396)
	at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:286)
	at sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:95)
	at sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:313)
	at java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1322)
	at java.io.ObjectStreamClass.access$1500(ObjectStreamClass.java:50)
	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:435)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:411)
	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:308)
	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:545)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1599)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1494)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1599)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1494)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1748)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
	at hudson.console.AnnotatedLargeText.createAnnotator(AnnotatedLargeText.java:131)
	at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:157)
	at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:146)
	at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:262)
	at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:94)
	at sun.reflect.GeneratedMethodAccessor586.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:288)
	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:151)
	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:90)
	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)



问题解决方案:服务器端启动war包添加参数,/usr/bin/java -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:PermSize=1024M -jar jenkins.war --httpPort=18080 --ajp13Port=18009

因为单独在slave机器上跑没有问题,所以slave机器可以不加,如果单独在slave机器上单独运行脚本也有内存溢出问题,那么slave执行脚本也要加

详细文档,参考:
http://bbs.scmroad.com/thread-19316-1-1.html
分享到:
评论

相关推荐

    jenkins环境搭建

    - **增加JVM参数**:根据操作系统不同,配置JVM参数以避免内存溢出问题。 - **Windows环境下**:编辑`catalina.bat`文件,在开头添加以下内容: ```bat set JAVA_OPTS=-server -XX:PermSize=512M -XX:MaxPermSize...

    jenkins持续集成冷部署到tomcat教程

    这种方式适用于应用较大、更新频繁的情况,可以避免因热部署导致的内存溢出等问题。 #### 实施步骤详解 ##### 一、安装配置Jenkins与Tomcat 1. **安装Jenkins**: - 下载Jenkins安装包,可以从[Jenkins官网]...

    解决了php中的开发问题

    3. **运行时异常**:比如文件不存在、数据库连接失败、内存溢出等。这些异常需要通过异常处理机制来捕获和处理,例如使用`try-catch`语句块,并确保有合适的错误日志记录。 4. **性能优化**:PHP开发中,性能优化是...

    【程序员面试宝典】2022年快手社招测试岗面经

    解决这类问题通常采用双指针法,以O(n^2)的时间复杂度实现。 9. 编程题目:最长连续递增子序列:该问题要求找出数组中最长的连续递增子序列的长度。可以使用动态规划方法求解,时间复杂度为O(n)。 以上是针对快手...

    weblogic10.0.36 windows linux 64位安装手册以及问题解决,性能优化合集

    WebLogic Server是Oracle公司的一款企业级Java应用服务器,主要用于运行和管理...通过深入理解和实践这些知识点,可以确保WebLogic 10.0.36在Windows和Linux 64位环境下的高效稳定运行,并有效地解决问题和优化性能。

    spotbugs-4.2.0.zip

    SpotBugs提供了丰富的检测规则,涵盖了多种常见的编程错误和设计缺陷,如空指针引用、资源泄露、并发问题、数学运算溢出、不安全的加密实践等。这些规则由预定义的bug模式组成,每个模式都与特定的代码结构或行为相...

    java面试tips 支付宝面试要求.zip

    - **内存泄漏与内存溢出**:识别和避免内存泄漏,理解如何处理内存溢出问题。 4. **设计模式** - **常见设计模式**:熟练应用单例、工厂、抽象工厂、建造者、适配器、装饰器、代理、观察者、策略、模板方法等设计...

    问题解决_​​JAVA

    在Java编程语言中,问题解决是一项至关重要的技能。...掌握这些知识点,不仅能帮助你解决问题,还能提升你的编程技能和项目管理能力。在实际工作中,不断学习和实践这些技能,将使你在Java开发领域更加得心应手。

    Algorithm-RpolyPlusPlus.zip

    在计算机科学领域,算法是解决问题的核心,它们是一系列精心设计的步骤,旨在让计算机高效且准确地完成特定任务。本篇文章将深入探讨"Algorithm-RpolyPlusPlus.zip"中的RPolyPlusPlus算法,这是一个基于Jenkins ...

    Java编程语言研发中的问题探讨.zip

    虽然Java有JVM(Java虚拟机)进行自动内存管理和垃圾回收,但在高并发、大数据量场景下,可能会出现内存溢出、CPU过高或者GC暂停时间过长等问题。这时,需要对JVM参数进行调优,如调整堆大小、设置合适的GC策略等。...

    java面试大纲: 简历知识点常见问题

    - **内存泄漏与内存溢出**:分析原因及解决策略。 3. **多线程** - **线程创建方式**:实现Runnable、Thread,以及线程池的使用。 - **并发工具类**:Semaphore、CyclicBarrier、CountDownLatch、Future、...

    cppcheck静态代码检测工具

    6. **算术错误**:检查除以零、溢出和未定义的算术操作等潜在问题。 7. **冗余代码**:识别并报告重复的代码块,鼓励代码重用和减少维护负担。 8. **复杂性分析**:评估代码的复杂度,提醒开发者注意可能导致难以...

    Java-Interview-Collection.rar_java 面试

    Java面试是每位Java开发者职业生涯中的重要关卡,它不仅测试技术实力,还考察候选人的学习能力、解决问题的思维方式以及团队协作等软技能。"Java-Interview-Collection.rar" 是一个针对Java面试准备的资源包,其中...

    关于《Java那么健壮,怎么会挂?》的1000条回复Jav

    9. **性能监控**:使用JConsole、VisualVM等工具监控JVM的运行状态,可以及时发现潜在问题,如CPU过高、内存溢出等。 10. **日志与调试**:良好的日志记录习惯可以帮助定位问题。学会使用断点、步进、查看堆栈信息...

    java开发利器

    学会使用调试工具,可以有效地定位和解决问题。 三、版本控制与团队协作 1. SVN与Git:Eclipse集成了SVN和Git等版本控制系统,我们可以学习如何在Eclipse中进行版本控制操作,如提交、更新、分支管理等。 2. 协作...

    Java与模式.part25-27.rar

    可能会深入到内存溢出、内存泄漏等问题的诊断和解决。 8. **Spring框架**:如果包含这部分内容,那么可能会讲解Spring框架的核心概念,如依赖注入、AOP(面向切面编程)、Spring MVC和Spring Boot等,这些都是现代...

    在线随机森林算法(online-random-forests)

    7. **性能监测**:由于ORF在内存中处理数据,注意监控内存使用情况,特别是对于大数据流,防止内存溢出。可以通过调整模型参数,如批处理大小,来控制内存占用。 8. **持续集成和部署**:在生产环境中,可能需要将...

    Klocwork_Tuning_Analysis_C_C++.pdf

    通过对代码进行深入的静态分析,可以帮助开发者及时发现并解决各种潜在问题,从而提高软件的整体质量和安全性。无论是对于个人开发者还是企业团队而言,Klocwork都是一款不可或缺的工具。通过合理配置和使用Klocwork...

    Java程序员面试宝典

    6. **JVM内存模型**:理解Java内存区域,包括堆、栈、方法区、本地方法栈、程序计数器等,以及垃圾收集机制和内存溢出问题。 7. **IO流与NIO**:熟悉Java的输入/输出流系统,包括字节流和字符流,以及缓冲流、对象...

    linux java常用配置

    在IT行业中,Linux和Java是两个非常重要的技术领域,它们的结合在服务器端应用开发和部署中占据着主导地位。...理解并掌握这些内容,对于提升Java开发者在Linux环境下的工作效率和解决问题的能力至关重要。

Global site tag (gtag.js) - Google Analytics