一种软件性能的检测方法及装置的制作方法

文档序号:6604738阅读:222来源:国知局
专利名称:一种软件性能的检测方法及装置的制作方法
技术领域
本发明涉及一种软件性能的检测方法及装置,属于计算机软件应用技术领域。
背景技术
Java是一种为互联网编程、跨平台开发的面向对象语言,其主要的一个特点就是 平台无关性。因为与其他语言相比,Java更加容易开发和维护,并且无需修改代码便可在 各种结构的计算机和操作系统上运行。Java运行的基础环境就是JVM(Java Virtual Machine, Java虚拟机),所有基于 Java的程序都要在JVM上执行,所以JVM的性能就成了 Java程序运行性能好坏的标准,其 主要体现在两个方面一是JVM在操作系统上的性能体现;二是Java程序在JVM上执行 的性能体现。但目前还没有JVM在操作系统上运行的性能以及JVM内部程序性能的检测方法。因此,在现有技术中,存在无法检测JVM在操作系统上运行的性能以及JVM内部程 序性能的问题。

发明内容
本发明提出了一种软件性能的检测方法及装置,以解决在现有的操作系统中无法 检测JVM的运行性能以及JVM内部程序性能的问题。一种软件性能的检测方法,包括获取操作系统资源情况、JVM占用操作系统资源情况及JVM内部线程堆积情况;根据所述操作系统资源情况和JVM占用操作系统资源状况获得JVM内部资源需求 和申请获得系统资源的匹配状况;根据所述JVM内部线程堆积情况获得Java线程堆中应用程序线程的运行情况。一种软件性能的检测装置,包括JVM底层扩展模块,用于获取操作系统资源情况、JVM占用操作系统资源情况及 JVM内部线程堆积情况;JVM性能分析模块,用于根据所述操作系统资源情况和JVM占用操作系统资源状 况获得JVM内部资源需求和资源申请结果是否达到均衡;JVM程序检测模块,用于根据所述JVM内部线程堆积情况获得Java线程堆中应用 程序线程的运行情况。本发明通过JVM占用操作系统资源情况及JVM内部线程堆积情况获得Java线程 堆中应用程序线程的运行情况,实现了在已有的操作系统中检测JVM在操作系统上运行的 性能以及JVM内部程序性能。


图1是本发明的具体实施方式
提供的一种软件性能的检测方法的流程示意图2是本发明的具体实施方式
提供的一种软件性能的检测装置的结构示意图。
具体实施例方式本发明的具体实施方式
提供了一种软件性能的检测方法,如图1所示,具体可以 包括步骤11,获取JVM占用操作系统资源情况及JVM内部线程堆积情况。具体地,在已有的操作系统(例如Windows系列、Linux系列等)中,可以对JVM底 层的API (Application Programming Interface,应用程序编程接口 )进行扩展,扩展并封 装进API的内容包括获取操作系统的资源情况、JVM占用操作系统的资源情况、JVM内部线 程堆积情况(应用程序挂起、响应时间以及程序崩溃等情况)等。步骤12,根据操作系统资源情况和JVM占用操作系统资源状况获得JVM内部资源 需求和申请获得系统资源的匹配状况。具体地,通过操作系统资源情况可以获得当前有多少系统资源可用,通过JVM占 用操作系统资源状况可以获得当前有多少JVM已经占用了系统资源,有多少JVM还处于申 请获得系统资源的情况。在获得上述两种信息后,可以根据JVM占用系统资源的比例,确定 JVM是否需要调配,若当前JVM的重要性高于操作系统中运行的其它程序,则可以调高JVM 占用系统资源的比例,若当前JVM的重要性低于操作系统中运行的其它程序,则可以调低 JVM占用系统资源的比例。步骤13,根据JVM内部线程堆积情况获得Java线程堆中应用程序线程的运行情 况。具体地,可以由操作系统向JVM发送一个SIGQUIT命令,开启JVM应用程序的检测 过程。在检测过程中,对于以获得系统资源并运行在操作系统中的JVM,可以获得JVM的应 用程序线程状态,相应的状态可以包括是否有崩溃或死锁的线程、以及JVM内部线程状态。 在获得这些检测结果后,可以对JVM的线程做出相应的调整,以使操作系统更稳定更高效 的运行。本具体实施方式
通过对JVM底层的扩展实现对软件性能的分析,达到JVM目前本 身对应用程序性能的分析的一个结果,给程序测试人员以及程序开发人员一个清晰的结 果,从而解决了一直以来本领域技术人员对JVM底层实现上的疑问,实现了本领域技术人 员实时的对JVM性能自检以及应用程序的性能检测。本发明的具体实施方式
还提供了一种软件性能的检测装置,如图2所示,该装置 具体可以包括JVM底层扩展模块21、JVM性能分析模块22和JVM程序检测模块23,JVM底 层扩展模块21用于获取操作系统资源情况、JVM占用操作系统资源情况及JVM内部线程堆 积情况;JVM性能分析模块22用于根据操作系统资源情况和JVM占用操作系统资源状况获 得JVM内部资源需求和资源申请结果是否达到均衡;JVM程序检测模块22用于根据JVM内 部线程堆积情况获得Java线程堆中应用程序线程的运行情况。进一步地,在JVM性能分析模块中,JVM内部资源需求和申请获得系统资源的匹配 状况包括系统资源状况、JVM程序占用系统资源的比例和JVM是否通过调配获得系统资源。以及,在JVM程序检测模块中,Java线程堆中应用程序线程的运行情况包括崩溃 线程状况、死锁线程状况及JVM内部线程状况。
上述装置中包含的各模块的处理功能的具体实施方式
在之前的方法实施方式中 已经描述,在此不再重复描述。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范 围为准。
权利要求
一种软件性能的检测方法,其特征在于,包括获取操作系统资源情况、Java虚拟机JVM占用操作系统资源情况及JVM内部线程堆积情况;根据所述操作系统资源情况和JVM占用操作系统资源状况获得JVM内部资源需求和申请获得系统资源的匹配状况;根据所述JVM内部线程堆积情况获得Java线程堆中应用程序线程的运行情况。
2.根据权利要求1所述的方法,其特征在于,所述JVM内部资源需求和申请获得系统资 源的匹配状况包括系统资源状况、JVM程序占用系统资源的比例和JVM是否通过调配获得 系统资源。
3.根据权利要求1或2所述的方法,其特征在于,所述Java线程堆中应用程序线程的 运行情况包括崩溃线程状况、死锁线程状况及JVM内部线程状况。
4.一种软件性能的检测装置,其特征在于,包括JVM底层扩展模块,用于获取操作系统资源情况、JVM占用操作系统资源情况及JVM内 部线程堆积情况;JVM性能分析模块,用于根据所述操作系统资源情况和JVM占用操作系统资源状况获 得JVM内部资源需求和资源申请结果是否达到均衡;JVM程序检测模块,用于根据所述JVM内部线程堆积情况获得Java线程堆中应用程序 线程的运行情况。
5.根据权利要求4所述的装置,其特征在于,在JVM性能分析模块中,所述JVM内部资 源需求和申请获得系统资源的匹配状况包括系统资源状况、JVM程序占用系统资源的比例 和JVM是否通过调配获得系统资源。
6.根据权利要求4或5所述的装置,其特征在于,在JVM程序检测模块中,所述Java线 程堆中应用程序线程的运行情况包括崩溃线程状况、死锁线程状况及JVM内部线程状况。
全文摘要
一种软件性能的检测方法及装置,属于计算机软件应用技术领域,以解决在现有的操作系统中无法检测JVM的运行性能以及JVM内部程序性能的问题。本发明包括获取操作系统资源情况、Java虚拟机JVM占用操作系统资源情况及JVM内部线程堆积情况;根据所述操作系统资源情况和JVM占用操作系统资源状况获得JVM内部资源需求和申请获得系统资源的匹配状况;根据所述JVM内部线程堆积情况获得Java线程堆中应用程序线程的运行情况。本发明通过JVM占用操作系统资源情况及JVM内部线程堆积情况获得Java线程堆中应用程序线程的运行情况,实现了在已有的操作系统中检测JVM在操作系统上运行的性能以及JVM内部程序性能。
文档编号G06F11/36GK101853206SQ20101021041
公开日2010年10月6日 申请日期2010年6月18日 优先权日2010年6月18日
发明者区嘉亮, 杨国庆 申请人:北京九合创胜网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1