1. JRockit简介
Jrockit是Bea开发的符合JAVA虚拟机规范的虚拟机+虚拟机监控软件。
虚拟机:Jrockit Real Time
监控软件:Jrockit Mission Control
Jrockit Real Time与SUN的JDK是完全兼容的,也就是说以前在SUN的虚拟机上跑的程序,在Jrockit Real Time上不会出现任何问题。
以前这套软件只提供1个小时的免费监控时间。就是说虚拟机启动1个小时内监控软件可以连上,过了一个小时就连不上了。这对一天才泄漏20M的应用程序来说,没有什么意义。现在已经完全免费了。这是开发者的福音。
最重要的,Jrockit是目前作者尝试过的,唯一一套可以在生产环境中进行内存监控的软件,其他软件都会严重降低虚拟机的效率应用基本无法使用。因为内存泄漏有时就算在压力测试中也很难发现。大部分都是在生产环境中产生的。如果没有一个基本不影响运行效率的软件,想解决只能靠运气。以前我解决过一次JAVA内存泄漏的问题,将程序从WEBLOGIC迁移到TOMCAT上解决了决完全属于运气。现在有了这个工具,解决起来就非常方便了。
2. 下载JRockit3.1.0,并安装
下载地址:http://www.oracle.com/technology/software/products/jrockit/index.html
要同时下载Jrockit Mission Control 3.1.0(监控软件)和Jrockit Real Time 3.1.0(虚拟机)
3. 服务器端配置
1. 在服务器段安装Jrockit Real Time 3.1.0,
2. 设置应用程序,使用此Jrockit启动应用程序。
Tomcat 6的设置方法是:
在catalina.sh顶部加入
JAVA_OPTS=" -verbosegc -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=本机IP "和
JRE_HOME="Jrockit虚拟机路径"
将JRE_HOME改为JAVA_HOME也行。
3. 下载http://download2.bea.com/pub/license/All%20Products/BEA_WebLogic.zip,解压后将其中的LIC-WLRT20.txt文件改名为license.bea上传到%JROCKIT_HOME%/jre/下。
4. 监控端设置
首先安装Jrockit Mission Control 3.1.0,然后运行之。
在JVM浏览器视图中,对连接器文件夹右键,选择新建连接。弹出下图:

在“主机”处输入IP,服务器开放的端口已经是7091,所以不必修改。其他的不用动。点击“测试连接”状态如果是确定则代表已经连接。点击Finish保存新建的连接。在“连接器”文件夹新建了一个连接。
5. 开始监控内存
在新建的连接器上点击右键,选择“启动Memleak”,如图:
IMG

弹出内存泄露检测器,如图:
IMG

最先看见的是“趋势”选项卡,里边标注了占用JAVA堆大于0.1%的类和数组。
“类型”选项卡,显示了类型与类型之间的引用情况。
“实例”选项卡,显示了实例之间的引用情况。
“分配堆栈跟踪”选项卡,显示了指定类型在虚拟机运行过程中被使用的情况。
6. 实战
公司的一个JAVA应用系统上线以来,基本每1天OutOfMemory一次。JAVA堆上限1个G。
6.1 10点45分内存使用情况抓屏(趋势选项卡)
注:抓屏前都进行了完全的垃圾回收。
IMG

6.2 13点17分内存使用情况抓屏
IMG

6.3 结论
占用内存最高的类为:
edu.emory.mathcs.java.util.concurrent.ConcurrentHashMap$Segment
此类从10点多的95M涨到13点的129M。没有释放内存。此类引起内存泄露。
edu.emory.mathcs属于backport-util-concurrent开源项目。用于线程并发编程。属于java.util.concurrent包的另一个实现。
7. 堆栈分配跟踪
知道是那个类出了问题,然后就需要知道系统中都那些类使用了这个问题。在edu.emory.mathcs.java.util.concurrent.ConcurrentHashMap$Segment上右键,选择“显示分配跟踪”,进入“分配堆栈跟踪”选项卡,
跟踪一段时间如图:
IMG

此时就会发现,使用backport-util-concurrent的是AXIS2,使用AXIS2的是我们项目里的文件,并且里边已经标注了堆栈(包名.类名.方法名(文件名:行数) ),这样就知道那里出现问题,对症下药就能够解决了。去修改代码吧。HOHO~
相关推荐
4. **JRockit诊断工具**:介绍JRockit Mission Control等诊断工具的使用,包括性能监控、内存泄漏检测、线程分析等功能,帮助开发者快速定位和解决问题。 5. **JRockit性能调优**:提供实战性的性能调优技巧,包括...
可以通过工具如VisualVM等来检测内存使用情况,找出内存泄漏的原因。 - **GC问题**: 垃圾回收(GC)是JVM自动管理内存的重要机制,但如果配置不当,可能会导致频繁的GC暂停,严重影响应用的响应时间。通过调整JVM参数...
这次性能调优实战记录展示了从日志分析、内存监控、代码优化到JVM选择等一系列步骤,强调了在性能优化过程中,理解系统行为、定位问题源头、选择合适的工具以及不断迭代改进的重要性。对于从事性能测试和调优的...
8. **监控与诊断**:介绍如何使用JMX(Java Management Extensions)和WebLogic Diagnostics Framework进行服务器监控和问题诊断,包括日志分析、JVM内存泄漏检测和性能指标监控。 9. **集成与扩展**:可能涉及与...
毕业论文-智云物业 2.1.4-整站商业源码.zip
实训商业源码-【超人】积分商城 6.0.5-论文模板.zip
内容概要:本文介绍了基于局部费歇尔判别(LFDA)和SVM的支持向量机二分类及多分类建模方法。首先,通过LFDA进行数据降维,保留局部信息,减少数据维度。接着,利用降维后的数据构建SVM分类模型,完成二分类和多分类任务。文中详细描述了LFDA的数据预处理、局部协方差矩阵和均值向量计算、类内散度和类间散度矩阵计算、广义特征值求解等步骤,以及SVM模型的训练、评估和可视化展示。最后,提供了MATLAB程序框架和关键步骤的伪代码,帮助读者理解和实现该方法。 适用人群:从事数据分析、机器学习领域的研究人员和技术人员,尤其是熟悉MATLAB编程环境的从业者。 使用场景及目标:适用于需要处理多特征输入、单输出或多输出分类任务的场景。通过LFDA降维和SVM建模,提升分类模型的性能和准确性。同时,生成分类效果图、降维展示图和混淆矩阵图,便于直观地展示和分析模型效果。 其他说明:本文提供的MATLAB代码框架和伪代码,需要根据具体应用场景进行详细实现和调整。重点在于数据预处理、特征选择、模型训练和评估等环节的具体操作。
2025年大学新生开学季风格模板范文
实训商业源码-思创兼职小程序V6.7.5 开源版-论文模板.zip
实训商业源码-旅游景区线路连锁店版V1.9.16 小程序前端+后端-论文模板.zip
实训商业源码-【表哥】4s汽车城小程序8.1.0 前端+后端-论文模板.zip
内容概要:本文探讨了利用混合储能系统(飞轮与蓄电池)来平抑风电功率波动的方法。文中介绍了两种主要的功率分配策略:抗脉冲平均滤波和滑动平均滤波。抗脉冲平均滤波用于应对突发性的功率变化,由飞轮快速响应;滑动平均滤波则用于处理较长时间尺度内的功率波动,由蓄电池进行调节。这两种方法相结合可以有效减少蓄电池的充放电次数并提高飞轮的响应效率。此外,文中提供了具体的Python代码示例,展示了如何通过编程实现这些策略。 适合人群:对新能源发电、电力系统稳定性以及储能技术感兴趣的科研人员和技术开发者。 使用场景及目标:适用于需要解决风电功率波动问题的风电场或相关研究项目。目标是通过合理的功率分配策略,确保电力系统的稳定运行,降低因风力发电不稳定性带来的负面影响。 其他说明:文中提到的技术手段不仅有助于提高能源利用率,还能延长储能设备的使用寿命。对于希望深入了解储能技术和风电功率管理的人来说,这是一个很好的参考资料。
毕业论文-子恩2.0-整站商业源码.zip
毕业论文-小小素材库 6.3.1-整站商业源码.zip
2025年度创意卡通小学开学季班会模板
实训商业源码-老虎-微信淘宝客5.99.99-论文模板.zip
DEEPPOLAR(3)-DEEPOLAR代码
内容概要:本文详细探讨了利用多个28kHz压电片在2mm钢质水槽外侧分布激励超声波的技术,重点分析了压电片厚度、数量、排列方式以及钢壁厚和水槽尺寸等因素对声场强度的影响。研究表明,适中的压电片厚度能产生更强的声场,较厚的钢壁有助于更好地传递超声波,而合理的压电片分布则能确保声场的均匀传播。通过COMSOL仿真软件,作者模拟并找到了最优的压电片分布方案,以提升超声清洗的效果。 适合人群:从事超声清洗技术研发的专业人士、相关领域的研究人员和技术爱好者。 使用场景及目标:适用于希望深入了解超声清洗技术原理及其优化方法的研究人员和技术人员,旨在提高超声清洗系统的效率和性能。 其他说明:本文不仅提供了理论分析,还结合了实际实验数据和COMSOL仿真结果,为超声清洗技术的发展提供了有价值的参考。
内容概要:本文介绍了自主研发的永磁同步电机FOC(Field Oriented Control)矢量控制模型及其代码实现。该模型集成了多种先进功能,如FOC算法、SVPWM、DPWM、死区补偿、过调制和母线电流估算等。通过Simulink界面进行源代码仿真,验证了模型的可靠性和有效性。主要内容涵盖FOC矢量控制模型的简介、代码的功能特点、Simulink仿真的方法及其应用效果。 适合人群:从事电机控制系统研究和开发的技术人员,尤其是对永磁同步电机和FOC控制感兴趣的工程师。 使用场景及目标:适用于需要深入了解和掌握永磁同步电机FOC控制技术的研究人员和技术开发者。目标是提升电机的运行效率、稳定性和输出转矩,同时优化电机的性能和可靠性。 其他说明:文中详细描述了如何利用Simulink进行仿真测试,确保代码在各种工况下都能稳定运行。这对于希望在实际项目中应用FOC控制技术的人来说非常有帮助。
检维修电工培训资料及规程