使用JRockit Mission Control监控Java程序运行性能

本文介绍了如何使用BEA的JRockitJDK和MissionControl程序来监控Java程序的性能,包括安装JRockitJDK、配置操作系统变量、使用MissionControl监控Java进程的CPU和内存占用情况,以及如何通过指定网络端口来监控Java程序。同时,展示了如何在Ant任务中使用JVM参数启动Java程序并进行监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BEA的JRockit JDK是BEA公司自己开发的JDK。使用JRockit JDK运行Java程序,就可以使用Mission Control程序监控Java程序的运行情况。

使用BEA的JRockit Mission Control可以查看Java程序在运行时的各种指标。可以帮助你找到Java程序的性能瓶颈和引起问题的是哪些类。从而帮助我们提高Java程序的性能。

一、JRockit JDK

1,安装JRockit JDK。安装完毕后,cmd中执行java –version

可以看到现在执行java实际使用的是JRockit的JDK。

2,有些启动Java程序的方式,使用的是操作系统的配置来查找JDK的。如Ant就是这样查找JDK的。

因此,需要修改操作系统变量的配置。

JAVA_HOME=JRockit JDK的安装目录


二、Mission Control程序

内存泄漏和JRA记录这2个功能,需要付费。也可以下载免费的license文件,可以使用1个小时。

1,首先启动Mission Control程序,在Discovered->Local下,下面是进程号和各个JRockit下启动的Java进程。

2,然后启动要测试的Java程序,现在,我们看到的新增的一个进程,就是了。

3,右击Start Console,可以看到该Java进程的CPU和内存占用情况。

注意,Java堆的内存占用要比操作系统的任务管理器中该Java进程的内存占用低很多。而且,使用Mission Control监控java进程,也会大大增加该进程的内存占用。

 
三、通过指定Java程序使用的网络端口来使用Mission Control程序监控Java程序

1,使用jvm的参数,可以指定Java程序使用的端口,来使用Mission Control程序监控该Java程序。

如:

java  -Xmanagement -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

这样来启动一个要监控的Java程序。

这指定了使用7091端口来启动该java程序。(7091是Mission Control程序的向导默认使用的端口,我们可以使用任意的其他端口)

 

2,启动Mission Control程序,点击Connectors,新建一个连接。

 

修改该程序的主机和使用的端口为要监控的程序所在的位置和使用的端口即可。

完成后,就可以像上面那样使用进程的方式来监控该Java程序的运行情况了。

 
四、Ant任务如何使用JVM参数启动java程序

<java classname="com.withub.bossservernio.common.code.Launcher" failonerror="true" fork="yes" maxmemory="256m">

            <classpath refid="BossServerNio.classpath"/>

             <jvmarg value="-Xmanagement,-Dcom.sun.management.jmxremote.port=7091,-Dcom.sun.management.jmxremote.authenticate=false,-Dcom.sun.management.jmxremote.ssl=false"/>     </java>

 
Ant的<java>任务下有一个元素<jvmarg>可以指定要使用的JVM参数。其中,使用value属性来保存JVM参数。

注意,其中不是使用空格来分隔JVM参数的,而是使用“,”来分隔多个JVM参数的。

 

如果指定这些参数启动Java程序失败,那么应该是因为,你使用的并不是BEA的JRockit JDK而是其他的JDK,如SUN的JDK或者IBM的JDK。
请参考第一部分正确安装和配置BEA的JRockit JDK。

内容概要:本文围绕C语言在数智化时代的应用展开,首先介绍了C语言在人工智能、大数据等领域的底层支撑作用,强调其在操作系统、数据库等方面的重要性。接着详细讲解了C语言的经典算法实现,包括排序(如快速排序)和查找(如二分查找),展示了指针与数组的高效操作及递归、分治等思想的应用。然后通过树莓派智能控制的实际案例,如LED灯闪烁控制,展现了C语言在物联网、智能家居等数智化场景中的应用,涉及GPIO引脚操作、传感器数据采集等。最后阐述了C语言教程的核心价值,包括工程化开发能力、对底层逻辑的理解以及跨领域的应用潜力,并提出了深入学习、实践驱动和技术融合的学习建议。; 适合人群:对C语言有一定基础,希望深入了解其在数智化时代应用场景的开发者,尤其是对嵌入式系统、底层开发感兴趣的读者。; 使用场景及目标:①掌握经典算法(如排序、查找)的实现原理及其优化方法;②理解C语言在树莓派等嵌入式设备中的具体应用,如GPIO控制、传感器数据采集;③提高工程化开发能力,培养符合企业标准的开发流程。; 阅读建议:本文不仅提供代码示例,还深入剖析了背后的原理和应用场景,因此建议读者结合实际项目进行动手实践,同时可以参考推荐的书籍和开源项目,逐步提升对C语言的理解和应用水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值