linux环境mule JVM短生命周期对象性能调整

最近,在一项目上,发现后端mule es  cpu耗用高。经过jstat -gcutil jvm进程号 1000 10分析,发现FGC次数,较多。

经过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属性增加新生代大小。

时间: 2024-10-12 01:41:36

linux环境mule JVM短生命周期对象性能调整的相关文章

JVM的生命周期、体系结构、内存管理和垃圾回收机制

一.JVM的生命周期 JVM实例:一个独立运行的java程序,是进程级别 JVM执行引擎:用户运行程序的线程,是JVM实例的一部分 JVM实例的诞生 当启动一个java程序时.一个JVM实例就诞生了,任何一个拥有public static void main(string[] args)的函数都可以作为实例的运行启点 2.  JVM实例运行 main作为程序初始化线程的起点,任何其他线程由其启动. JVM有两种线程:守护线程和非守护线程.守护线程由JVM使用.main启动后将是非守护线程. 3.

JVM学习笔记:JVM的体系结构与JVM的生命周期

1 JVM在java平台中的位置 1.1 Java平台组成 Java平台主要由Java虚拟机和Java API这两部分组成.参考Oracle官网. 1.2 java平台结构图 JDK1.2开始,迫于Java运行始终笔C++慢的压力,JVM的结构也慢慢发生了一些变化,JVM在某些场景下可以操作一定的硬件平台,一些核心的Java库甚至也可以操作底层的硬件平台,从而大大提升了Java的执行效率.JDK1.2之后的整个java平台如下图所示: 1.3 JVM与JRE.JDK的关系 参照Oracle官网的

Spring文档苦读【3】【短生命周期的Bean注入长生命周期的Bean】

前言 在Spring 中,定义Bean的范围有多种.一种是经常用的Singleton,还有prototype,request,session,globalSession,application,websocket等等,但是我们如何把短生命周期的bean注入到我们长生命周期的bean中呢?例如,我如何把scope为session的bean注入到singleton的bean中呢? 有的同学可能会这样做 1 <!-- 短生命周期 --> 2 <bean id="userPrefere

(转)JVM类生命周期概述:加载时机与加载过程

原文地址: http://blog.csdn.net/justloveyou_/article/details/72466105 JVM类加载机制主要包括两个问题:类加载的时机与步骤 和 类加载的方式.本文主要阐述了第一个问题,关于类加载的方式等方面的内容,包括JVM预定义的类加载器.双亲委派模型等知识点, 一个Java对象的创建过程往往包括两个阶段:类初始化阶段 和 类实例化阶段. 注意,本文内容是以HotSpot虚拟机为基准的. 一.类加载机制概述 我们知道,一个.java文件在编译后会形成

JVM类生命周期概述:加载时机与加载过程

一个.java文件在编译后会形成相应的一个或多个Class文件,这些Class文件中描述了类的各种信息,并且它们最终都需要被加载到虚拟机中才能被运行和使用.事实上,虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程就是虚拟机的类加载机制.本文概述了JVM加载类的时机和生命周期,并结合典型案例重点介绍了类的初始化过程,进而了解JVM类加载机制. 一.类加载机制概述 我们知道,一个.java文件在编译后会形成相应的一个

【杂谈接口】接口对象的生命周期-对象所占用的内存块清理

[概述] 相信经常使用接口的朋友们,经常碰到访问违规异常(Access violation),很多情况下无法理解,认为是编译器的Bug,然后去绕开它,不追其根源,把责任推给IDE,推给编译器(其实本人以前也经常这样想).其实每个异常都是有原因的,碰到这种问题不要绕开,如果目前无法解决,至少要清楚的知道它出现的起因,不放过每一次追根到底的机会.这才是做程序员的应有的心态.(好像有点扯远了…) [问题描述] 今天公司外包模块中,外包人员反应出现一个很奇怪的问题,说模块中无故出现了AV异常.调试果然如

Java对象的生命周期与作用域的讨论(转)

导读: Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除.因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3.其中T1表示对象的创建时间,T2表示对象的使用时间,而T3则表示其清除时间.由此,我们可以看出,只有T2是真正有效的时间,而T1.T3则是对象本身的开销.下面再看看T1.T3在对象的整个生命周期中所占的比例. 我们知道,Java对象是通过构造函数来创建的,在这一过程中,该构造函数链中的所有构造函数也都会被自动调用.另外,默认情况下,调用

认识JVM(1)&mdash;&mdash;对象分配&amp;回收算法

本来标题党想写成<深入JVM>,不过不太敢写,我想一小篇博客我想还不足以说明JVM,在本文中,会就我所知给大家介绍JVM的很多内部知识,概念会相对较粗,因为太细的内容要写,这里肯定写不出来:本文主要偏重理论,没有什么实践,中间除一些官方资料外,还有部分自身的理解,所以请大家不要完全信任本文内容:另外本文会有一小部分纠正以前一篇文章对于intern()使用方法的错误,本文会在其中说明使用错误的原因,大致文章内容有以下几个部分: 1.JVM虚拟内存组成及操作系统地址表 2.新生成对象在HeapSi

Android07_多界面_Activity生命周期

四大组件:Activity,BroadCastRevier,Service,Content Provider(内容提供者) 1,多界面应用程序开发 Activity是搭建界面和用户之间的桥梁,所有的页面都是放在FrameLayoutContent下面,相同于通过setContentView对Content进行addView 1.1一个应用程序想要显示界面,必须要有activity,需要在清理里配置activity标签 1.2activity中默认生成的onCreate()方法,通过setCont