最近,在一项目上,发现后端mule es cpu耗用高。经过jstat -gcutil jvm进程号 1000 10分析,发现FGC次数,较多。
根据gc观察,O老生代,经过达到80% 以上。而新生代survior s1,s2内存空间比较小。判断有新生代对象没经过几次gc,就进入了老生代。
修改mule/conf/wrapper.conf .增加如下选择。
wrapper.java.additional.5=-XX:+PrintGCDetails
wrapper.java.additional.6=-XX:+PrintGCDateStamps
wrapper.java.additional.7=-verbose:gc
wrapper.java.additional.8=-Xloggc:gc.log
wrapper.java.additional.9=-XX:ParallelGCThreads=10
wrapper.java.additional.10=-XX:+UseConcMarkSweepGC
wrapper.java.additional.11=-XX:+UseParNewGC
wrapper.java.additional.12=-XX:NewRatio=3
wrapper.java.additional.13=-Xss256K
wrapper.java.additional.14=-XX:SurvivorRation=2
wrapper.java.additional.15=-XX:TargetSurvivorRatio=8
NewRatio=3属性增加新生代大小。年轻代(Eden和两个Survivor与年老代的比值),年轻代为堆的1/4大小。
-XX:SurvivorRatio=2 Eden区与Survivor区的大小比值。代表Eden区为2/10,survivor是8/10.survivor存储Eden快速回收后的数据,survivor适当调高有利于缓解经几次fast gc后,才会回收的对象,这些对象经过几次gc,是可以回收掉的。如果survior太小,则经过一两次回收,由于survivor空间过小,则会直接进入Old代。如果适中,在经过几次gc后,回收掉。不用在放入old代。经几次回收才能释放的对象,可以理解为中短期生命周期对象,它是有机会回收,但需要其它依赖释放引用。
参考文献:
JVM实用参数(五)新生代垃圾回收
http://ifeve.com/useful-jvm-flags-part-5-young-generation-garbage-collection
相关推荐
"Mule开发环境搭建和部署" Mule是当前流行的企业服务总线(Enterprise Service Bus, ESB),它提供了一个灵活、可扩展、高性能的集成平台。构建Mule开发环境是Mule应用程序的基础,以下将对Mule开发环境的搭建和...
7. **MuleSoft Anypoint Platform**:除了MULE ESB,Anypoint Platform还包括了API Manager、CloudHub、DataWeave等组件,提供了一站式的API生命周期管理和云集成解决方案。 8. **Mule运行时**:Mule runtime是Mule...
6. **API Manager**: 虽然在社区版中可能不完全提供,但MuleSoft的API Manager允许你管理和保护你的API,控制访问权限,并提供完整的生命周期管理。 7. **Deployment**: 部署Mule应用程序到MULE ESB-4.1运行环境...
Spring是Mule ESB的核心组件之一,负责管理对象的生命周期和依赖注入。这两个DTD文件确保了配置文件的正确性,帮助开发者理解如何配置Mule应用。 `security.policy`文件是Java安全策略的配置,用于控制Mule ESB在...
Mule ESB的核心优势在于其轻量级设计和高度可扩展性,使得它能够在不牺牲性能的情况下处理大量复杂集成任务。 **1. 轻量级架构** Mule ESB基于Java,但它不是传统的Java EE应用服务器,而是采用了更轻量级的Java...
- API管理改进:可能改进了API Manager的功能,便于管理和控制API的生命周期。 - 提高稳定性:修复了已知的bug,增强了系统的稳定性和可靠性。 4. **部署与配置**: - 解压“mule-standalone-3.9.0”压缩包后,...
**Mule ESB 3.6.0 开源部署环境详解** Mule ESB(Enterprise Service Bus,企业服务总线)是一种开源的企业级集成平台,它允许不同系统、应用程序和服务之间进行高效的数据交换。MuleSoft是Mule ESB的创造者,致力...
本文档详细介绍了Mule ESB 企业版在高负载生产环境下的部署情况,并解释了Mule ESB 的架构特性如何支持其高性能表现。这些性能指标是通过行业标准基准测试收集的,并通过实际案例验证了MuleSoft 客户的成功经验,...
10. **API生命周期管理**:Mule ESB集成了API生命周期管理功能,可以帮助企业创建、发布、管理和保护API。 Mule 3.0原理图则更专注于这个版本的架构和工作流程,可能包含以下内容: 1. **新特性与改进**:Mule 3.0...
- **生命周期管理**:Mule Studio提供了应用生命周期管理工具,包括开发、测试、预生产及生产环境的管理。 - **安全性**:Mule应用可以配置多种安全策略,包括身份验证、授权、加密和安全协议。 - **Scalability**...
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
在传统ESB中,每个连接到总线的应用系统都需要创建适配器来转换数据到通用格式,而Mule则允许数据以原生格式在不同通道上传输,仅在目标系统要求时进行转换,从而提高了性能,缩短了开发周期。 ### 结论 Mule ESB...
在Mule3.0中,我们看到对异步处理、事件驱动架构、云集成以及API生命周期管理的强化。 1. **异步处理**:Mule3.0引入了更强大的异步处理能力,允许消息在处理过程中不阻塞主流程,提高了系统响应速度。这种特性对于...
同时,可以通过修改其他配置文件(如"server.conf")来调整运行时环境的参数。一旦配置完成,用户可以通过命令行启动Mule服务,开始处理集成任务。 总之,Mule ESB 3.9.0-hf2是一个强大的集成平台,提供了一种灵活...
Mule ESB 项目在Linux中的部署与开发与应用案例
【Mule与MQ集成】是关于整合Mule ESB(企业服务总线)与消息中间件,如Apache ActiveMQ的开发文档。Mule是一个开源的ESB,它提供了一个平台来连接各种应用系统,实现数据交换和服务集成。而ActiveMQ则是Apache软件...
Model则是一个灵活的容器,它不仅控制着消息流进出各个组件,还管理着线程、生命周期和缓存池等重要资源。UMO Components是执行业务逻辑的实体,通过JavaBean的形式,它们可以轻松地进行业务处理而不依赖于MULE的...
2. **MULE配置与部署**:用户指南将详细介绍如何配置MULE实例,包括设置环境变量、安装和启动MULE服务器,以及部署MULE应用到不同的运行时环境,如MULE Standalone或CloudHub。 3. **连接器(Connectors)**:MULE ...
学习如何设置和调整基础参数,如全局属性、流、处理器、过滤器等,可以提高应用的性能和可靠性。 3. **连接器(Connectors)**:Mule提供了丰富的预建连接器,用于与各种系统(如数据库、文件系统、Web服务等)交互...
本文将对Mule3.4进行入门学习,涵盖Mule环境搭建、Webservice的发布、JMS消息通信、ftp、File应用、协议转换等知识点。 一、Mule环境搭建 Mule环境的搭建需要JDK的支持,包括下载、安装、配置JDK。首先,需要下载...