基于JVMTI的实时性能剖析系统的研究与应用

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:funfzitm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Java软件平台技术的不断发展,Java软件的应用已经从桌面的应用延伸到企业平台,大型信息系统,控制系统,嵌入式系统等各个方面。但由于Java软件体系结构的特点决定了Java软件执行效率不如C/C++软件,因此对Java软件性能进行剖析是非常有必要的。当今的许多Java应用程序都依赖于一组复杂的分布式依赖关系和移动部件。很多外部因素都可能对应用程序的性能和可用性造成影响。这些影响基本上都无法完全消除或解决,且难以在预生成环境中准确模拟。因此,有效地对Java应用程序性能执行低级粒度的剖析是明智的。剖析得到的数据可以很好的反映Java应用程序的内在状态,并揭示影响环境稳定性及性能的约束和因素。JVMTI(Java Virtual Machine Tool Interface)是一套由Java虚拟机提供的,为Java虚拟机相关工具提供的本地编程接口集合。JVMTI提供了一套“代理”程序机制,可以支持第三方工具程序以代理的方式连接和访问Java虚拟机,并利用JVMTI提供的丰富的编程接口,完成许多与Java虚拟机相关的功能。本文研究了JVMTI的代理程序机制,并在研究的基础上,设计与实现了一套性能剖析接口,即JVMTIJava接口。该接口提供给开发人员一个更高层次的Java虚拟机剖析编程接口,可以提高开发的效率。本文介绍了JVMTIJava接口中使用的JNI技术、剖析代理本地库的设计与实现和JVMTIJava接口的各功能子模块的划分,并详细介绍了JVMTIJava接口中内存快照子模块的具体实现。最后本文从实际的企业需求出发设计并实现了一个实时性能剖析系统。该系统采用B/S架构,客户可以通过Web浏览器查看Java应用程序的运行状况。其中,系统利用JVMTIJava接口实现了对监视的Java应用程序的虚拟机实例的性能剖析。另外,系统利用了反向Aiax的Comet策略和FusionCharts控件实现了在客户端中实时地显示剖析得到的数据。最后进行了系统功能测试。
其他文献
近年来,随着计算机技术、通信技术、集成电路技术和控制技术的发展,在线切割系统中实现加工的现代化、安全化,提高加工精度等要求,促使了线切割系统嵌入式化成为未来机床发展
计算机技术、多媒体技术以及Internet技术的飞速发展产生大量的图像信息,如何有效、快速地从大规模的图像数据库中检索出需要的图像是一个目前急需解决的问题。基于内容的图像
学位
学位
计算机技术和微电子技术的快速发展,在很大程度上推动了工业自动化的进程,各厂商的生产效率也因此得到了迅速提高。伴随着工业控制的要求不断提高,原有的集散控制系统在很多情况
图形用户界面(GUI)被广泛地应用于应用软件中,但其大量使用也为软件的开发和测试带来了极大的挑战。在今天的软件开发中,GUI可占到全部代码60%以上。因此,GUI测试在软件开发
随着网络技术的快速发展,作为Internet基石的TCP/IP协议族正进行着一场前所未有的变革。这场变革的起因是IPv4协议在面对Internet发展时出现越来越多的不足,人们为解决这些不
随着Agent技术的不断发展,Agent的应用已逐渐深入到了各个领域。Agent所执行任务的难度以及应用环境的复杂度也在不断增加,单个Agent已经不能满足应用的要求,多Agent系统研究
网络教育的教学效果很大程度上取决于采用的教育技术。利用网络教学平台提供同步或者异步的教学辅导、答疑是网络教育提供给学生的学习支持服务的主要形式之一。而目前我国的
泛函网络是对人工神经网络的一种有效推广,但有些理论还不太健全,需要人们不断地提出新的模型和新的算法,完善基础理论,以便进一步拓展泛函网络的应用范畴。本文从计算方法的角度