`
liyonghui160com
  • 浏览: 775850 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jenkins自动部署war到tomcat OutOfMemoryError

阅读更多

 

jenkins自动部署war到tomcat 7应用服务器时很不稳定,经常出现错误:

 

ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception

org.codehaus.cargo.container.ContainerException: Failed to deploy [/var/lib/jenkins/jobs/devel_auto_build_deploy/workspace/build/libs/reis.war]

    ...

Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Encountered exception javax.management.RuntimeErrorException: Error invoking method check

...

org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Encountered exception javax.management.RuntimeErrorException: Error invoking method check

...

 

tomcat日志可以看到如下异常:

堆空间内存不足

 

java.lang.OutOfMemoryError: 。。。。。。

永久代内存不足

 

SEVERE: Exception invoking method check

java.lang.OutOfMemoryError: PermGen space

...

Exception in thread "http-bio-8080-exec-38" java.lang.OutOfMemoryError: PermGen space

OpenJDK 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGTERM to handler- the VM may need to be forcibly terminated

 

出现此问题的原因是tomcat默认配置的堆和非堆内存都太小了,需要调整如下JVM内存配置参数:

 

    -Xms

 

    初始堆内存大小

    -Xmx

 

    最大堆内存大,一般设置-Xms与-Xmx一样大小,根据应用类型和物理内存大小来决定二者的大小

    -Xmn或者-XX:NewSize

 

    堆内存中年轻代的大小

    -XX:PermSize

 

    永久代内存的初始大小

    -XX:MaxPermSize

 

    永久代内存的最大值 

 

一般设置这几个参数也就够了,debian系统上tomcat 7 设置JVM的内存参数要在配置文件/etc/default/tomcat7中的JAVA_OPTS参数中设置。

 

一个web app,服务器物理内存16G,其设置如下:

 

 

JAVA_OPTS="-Djava.awt.headless=true -Xmx5120m -Xms5120m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:+UseConcMarkSweepGC"

 

 

分享到:
评论

相关推荐

    Jenkins如何部署war包至Tomcat服务器

    当 Jenkins 构建成功并完成 Post-build Actions 时,它会自动将 WAR 文件部署到指定的 Tomcat 服务器上。这种方式可以极大地提高部署的效率和自动化程度,减少了手动介入的可能性,使得持续集成和持续部署(CI/CD)...

    Linux 部署jenkins war包直接tomcat启动

    接下来,我们进入主题,即在Linux系统上部署Jenkins WAR包到Tomcat服务器。以下是详细的步骤: 1. **安装Java运行环境**:Jenkins依赖Java运行,因此首先确保Linux服务器已安装Java 8或更高版本。可以通过`java -...

    jenkins实现maven项目自动部署到tomcat

    【Jenkins实现Maven项目自动部署到Tomcat】是一篇关于自动化构建和部署流程的教程。该文档旨在教你如何利用Jenkins自动化处理Maven项目的编译、打包和部署到Tomcat服务器的过程,使得开发工作更加高效。以下是详细的...

    Jenkins自动部署工具的搭建

    此文档为简单的搭建Jenkins自动部署工具,可实现自动部署war包到Tomcat上及springboot工程的自动部署。

    Jenkins+Maven+SVN+Tomcat 持续集成环境快捷部署

    - 通过命令行启动Tomcat,这将自动部署Jenkins。 - 浏览器访问Jenkins的地址来初始化配置。 6. 配置自动化构建流程 - 在Jenkins中创建新的任务,配置源码管理选择SVN,输入SVN仓库地址和认证信息。 - 配置构建...

    jenkins war包,放入tomcat 下就可以使用

    当你说"jenkins war包,放入tomcat下就可以使用",这意味着你可以将这个WAR文件部署到Tomcat服务器上,以运行Jenkins服务。 Tomcat是一款开源的Java Servlet容器,它实现了Java EE的Web应用程序规范,比如Servlet和...

    jenkins自动化部署持续交付演示ppt

    4. 安全风险:自动部署可能涉及敏感信息,需要确保安全策略。 综上所述,自动化部署持续交付,尤其是通过Jenkins这样的工具实现,是提升软件开发效率和质量的有效手段。尽管存在一些挑战,但其带来的好处远超其潜在...

    jenkins自动部署vue前端项目

    在进行Jenkins自动部署Vue前端项目的过程中,涉及到的知识点包含多个方面。首先,需要了解Jenkins的基本概念和它的工作流程;其次,对于前端项目构建和部署需要掌握相关的技术,比如Node.js环境的配置,Vue项目的...

    Jenkins部署linux下的tomcat系统操作手册

    Jenkins 在 Tomcat 部署中扮演着重要的角色,主要用于自动化构建、测试和部署 Tomcat 服务器环境。在 Jenkins 中,可以配置 Tomcat 服务器的各种参数,例如端口号、用户名和密码等。同时,Jenkins 还可以自动化地...

    jenkins部署war配置

    本文详细介绍了如何使用Jenkins进行WAR包的自动化部署,包括环境搭建、插件安装、配置管理以及WAR包的自动化发送过程。通过以上步骤,可以实现WAR包的自动化构建和部署,提高开发效率,减少人工错误。希望本文能够...

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    在自动化部署流程中,Tomcat接收由Jenkins和Maven处理后的WAR文件,并将其部署到服务器上,供用户访问。 具体步骤如下: 1. **配置Jenkins**:首先,我们需要在Jenkins服务器上安装必要的插件,如GitLab Plugin、...

    jenkins自动化部署流程-web项目

    ### Jenkins自动化部署流程详解——Web项目 #### 一、项目背景与目标 随着软件开发项目的不断迭代和更新,持续集成和持续部署(CI/CD)成为提升开发效率和软件质量的关键手段之一。Jenkins作为一款开源的持续集成...

    Jenkins环境部署文件(Jdk11+Tomcat9+Jenkins)

    总结来说,Jenkins环境部署涉及JDK 11、Tomcat 9和Jenkins的安装与配置,其中JDK提供运行环境,Tomcat作为应用服务器承载Jenkins服务,而Jenkins自身则负责集成自动化流程。正确配置这三个组件,能为开发团队提供一...

    Jenkins 自动化部署Deploy插件

    Jenkins 自动化部署Deploy插件

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

    ### Jenkins持续集成冷部署到Tomcat教程 #### 知识点概述 - **Jenkins**:开源持续集成工具,用于自动化软件开发中的构建、测试、部署等过程。 - **Tomcat**:Apache软件基金会的Jakarta项目中的一个开源Web服务器...

    jenkins实现maven项目自动部署到tomcat .rar

    本篇文章将详细介绍如何使用Jenkins结合Maven实现Java项目的自动部署到Tomcat。 **一、Jenkins简介** Jenkins是一个开源的持续集成服务器,它可以监控和记录软件构建过程,并提供丰富的插件支持自动化测试、部署等...

    jenkins+maven-tomcat插件自动部署

    【Jenkins + Maven + Tomcat 插件自动部署】是一种高效、自动化的方式,用于持续集成和部署Java应用程序。本文将详细介绍如何配置和使用这个流程。 首先,我们需要在服务器上安装必要的环境,包括Jenkins、Maven、...

    Jenkins部署Web项目到远程tomcat

    介绍Jenkins部署Web项目到远程tomcat的文档,简单实用。

Global site tag (gtag.js) - Google Analytics