虚拟机垃圾回收调优方法、装置、电子设备及存储介质制造方法及图纸

技术编号:19963986 阅读:23 留言:0更新日期:2019-01-03 12:42
本发明专利技术实施例涉及通信技术领域,具体地涉及一种虚拟机垃圾回收调优方法、装置、电子设备及存储介质。该方法包括:根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配该预设性能指标的调优方案;该调优方案包括采用的垃圾收集器以及该虚拟机的堆空间的设置参数;采用该垃圾收集器,以该堆空间的设置参数作为针对该目标程序的调优程序的堆空间的调优参数的起始值,以该预设性能指标作为该调优程序的调优目标,执行针对该目标程序的调优程序。本发明专利技术实施例以该匹配的调优方案中采用的垃圾收集器和堆空间的设置参数,作为该目标程序的调优程序的起始值,从而得到较优的具有针对性的调优参数的起始值,缩短调优时间。

Virtual Machine Garbage Recycling and Tuning Method, Device, Electronic Equipment and Storage Media

The embodiment of the invention relates to the field of communication technology, in particular to a virtual machine garbage recovery and optimization method, device, electronic equipment and storage medium. The method includes: according to the preset performance index of the target program, finding the optimization scheme matching the preset performance index in the preset garbage collection optimization scheme library; the optimization scheme includes the adopted garbage collector and the heap space setting parameters of the virtual machine; adopting the garbage collector, taking the heap space setting parameters as the optimization program for the target program The initial value of the heap space tuning parameter is taken as the target of the tuning program, and the tuning program for the target program is executed. The embodiment of the present invention takes the setting parameters of garbage collector and heap space adopted in the matching optimization scheme as the starting value of the optimization program of the target program, so as to obtain a better starting value of the targeted optimization parameters and shorten the optimization time.

【技术实现步骤摘要】
虚拟机垃圾回收调优方法、装置、电子设备及存储介质
本专利技术涉及通信
,具体地涉及一种虚拟机垃圾回收调优方法、一种虚拟机垃圾回收调优装置、一种电子设备以及一种存储介质。
技术介绍
垃圾回收(GarbageCollection,GC)是Java程序设计中内存管理的核心概念,Java虚拟机(JavaVirtualMachine,简称JVM)的内存管理机制被称为垃圾回收(GenerationCollection)机制,用以跟踪正在使用的对象,以及发现并回收不再使用的对象。JVM管理的内存叫堆,当前主流的“分代收集”算法根据对象存活周期的不同将堆划分为几块,一般是把Java堆分为新生代和老年代以及永久代,根据各个年代的特点选用不同的收集算法或垃圾收集器;JVM生成的所有新对象放在新生代中,一旦对象经历了一定数量的垃圾收集循环,即存活周期后,便并进入老年代;永久代中用于存放静态文件,如Java类、方法等,对垃圾回收没有显著影响。而当新生代、老年代、永久代不满足内存分配需求或者其他原因时,都可能导致垃圾收集,甚至是内存溢出的错误。而每次垃圾收集时,JVM需要执行垃圾回收线程,即GC线程,而停止应用程序的执行。所以Java堆设置的不合理就会频繁引起垃圾收集,以及内存溢出错误,严重影响程序性能。因此,Java的垃圾回收机制对应用程序的性能有着非常重要的影响,为避免应用程序性能瓶颈的出现,对JVM的垃圾回收策略及相关参数进行调优是十分必要的。在Java虚拟机中,吞吐量、延迟响应、内存占用是影响垃圾收集性能的三个主要属性,其中任何一个属性性能的提高几乎总是另一个或两个属性性能的损失作代价的。因此,在实际调优程序中,针对不同应用的垃圾收集性能评价指标也不同,进而使用的垃圾回收策略和相关参数也有较大差异。现有JVM垃圾回收策略存在两种技术方案,技术方案一:通过人工监测GC状态,分析监测结果,并结合调试经验值进行手动调试;技术方案二:通过外层软件穷举合理范围内的值来实现自动化的试探调优。但是在实际应用中,依靠手工进行调试,需要不断重复试验,因此效率低下;穷举的方法涉及的参数较多,因此效率低下;而且对不同的应用程序,上述两种技术方案也不具有系统性的针对方案,因此调优效果不理想。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种虚拟机垃圾回收调优方法,以解决现有调优方法不具备针对性,且效率低下的问题。相应的,本专利技术实施例还提供了一种虚拟机垃圾回收调优装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。为了解决上述问题,本专利技术实施例公开了一种虚拟机垃圾回收调优方法,具体可以包括:根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配所述预设性能指标的调优方案;所述调优方案包括采用的垃圾收集器以及所述虚拟机的堆空间的设置参数;采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数的起始值,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序。可选地,所述采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数的起始值,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序的步骤,包括:采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的第一调优程序的堆空间的调优参数,执行针对所述目标程序的第一调优程序;在所述第一调优程序结束后,获取所述第一调优程序中所述目标程序的性能指标;若所述目标程序的性能指标匹配所述预设性能指标,则输出所述第一调优程序中采用的垃圾收集器和所述第一调优程序的堆空间的调优参数,作为所述目标程序的调优方案。进一步地,所述采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序的步骤,还包括:若所述目标程序的性能指标匹配所述预设性能指标失败,则分析所述第一调优程序,按照预设调优策略,调整所述第一调优程序的堆空间的调优参数,作为针对所述目标程序的第二调优程序的堆空间的调优参数;采用所述垃圾收集器,以及所述第二调优程序的堆空间的调优参数,执行针对所述目标程序的第二调优程序。进一步地,所述在所述第一调优程序结束后,获取所述第一调优程序中所述目标程序的性能指标的步骤之后,还包括:记录所述第一调优程序中所述目标程序的性能指标,和所述第一调优程序中采用的垃圾收集器、所述第一调优程序的堆空间的调优参数,之间的第一映射关系;根据上述第一映射关系,更新所述预设的垃圾回收调优方案库。可选地,所述预设性能指标包括内存占用指标,和/或延迟响应指标,和/或吞吐量指标。本专利技术实施例还公开了一种虚拟机垃圾回收调优装置,具体可以包括:调优方案匹配模块,用于根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配所述预设性能指标的调优方案;所述调优方案包括采用的垃圾收集器以及所述虚拟机的堆空间的设置参数;调优程序控制模块,用于采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数的起始值,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序。可选地,所述调优程序控制模块包括:第一调优控制模块,用于采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的第一调优程序的堆空间的调优参数,执行针对所述目标程序的第一调优程序;第一性能监控模块,用于在所述第一调优程序结束后,获取所述第一调优程序中所述目标程序的性能指标;调优方案输出模块,用于若所述目标程序的性能指标匹配所述预设性能指标,则输出所述第一调优程序中采用的垃圾收集器和所述第一调优程序的堆空间的调优参数,作为所述目标程序的调优方案。进一步地,所述调优程序控制模块还包括:调优参数控制模块,用于若所述目标程序的性能指标匹配所述预设性能指标失败,则分析所述第一调优程序,按照预设调优策略,调整所述第一调优程序的堆空间的调优参数,作为针对所述目标程序的第二调优程序的堆空间的调优参数;第二调优控制模块,用于采用所述垃圾收集器,以及所述第二调优程序的堆空间的调优参数,执行针对所述目标程序的第二调优程序。进一步地,所述装置还包括:调优方案库记录模块,用于记录所述第一调优程序中所述目标程序的性能指标,和所述第一调优程序中采用的垃圾收集器、所述第一调优程序的堆空间的调优参数,之间的第一映射关系;调优方案库更新模块,用于根据上述第一映射关系,更新所述预设的垃圾回收调优方案库。可选地,所述预设性能指标包括内存占用指标,和/或延迟响应指标,和/或吞吐量指标。本专利技术实施例还公开了一种电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配所述预设性能指标的调优方案;所述调优方案包括采用的垃圾收集器以及所述虚拟机的堆空间的设置参数;采用所述垃圾收本文档来自技高网
...

【技术保护点】
1.一种虚拟机垃圾回收调优方法,其特征在于,包括:根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配所述预设性能指标的调优方案;所述调优方案包括采用的垃圾收集器以及所述虚拟机的堆空间的设置参数;采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数的起始值,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序。

【技术特征摘要】
1.一种虚拟机垃圾回收调优方法,其特征在于,包括:根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配所述预设性能指标的调优方案;所述调优方案包括采用的垃圾收集器以及所述虚拟机的堆空间的设置参数;采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数的起始值,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序。2.根据权利要求1所述的方法,其特征在于,所述采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数的起始值,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序的步骤,包括:采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的第一调优程序的堆空间的调优参数,执行针对所述目标程序的第一调优程序;在所述第一调优程序结束后,获取所述第一调优程序中所述目标程序的性能指标;若所述目标程序的性能指标匹配所述预设性能指标,则输出所述第一调优程序中采用的垃圾收集器和所述第一调优程序的堆空间的调优参数,作为所述目标程序的调优方案。3.根据权利要求2所述的方法,其特征在于,所述采用所述垃圾收集器,以所述堆空间的设置参数作为针对所述目标程序的调优程序的堆空间的调优参数,以所述预设性能指标作为所述调优程序的调优目标,执行针对所述目标程序的调优程序的步骤,还包括:若所述目标程序的性能指标匹配所述预设性能指标失败,则分析所述第一调优程序,按照预设调优策略,调整所述第一调优程序的堆空间的调优参数,作为针对所述目标程序的第二调优程序的堆空间的调优参数;采用所述垃圾收集器,以及所述第二调优程序的堆空间的调优参数,执行针对所述目标程序的第二调优程序。4.根据权利要求2所述的方法,其特征在于,所述在所述第一调优程序结束后,获取所述第一调优程序中所述目标程序的性能指标的步骤之后,还包括:记录所述第一调优程序中所述目标程序的性能指标,和所述第一调优程序中采用的垃圾收集器、所述第一调优程序的堆空间的调优参数,之间的第一映射关系;根据上述第一映射关系,更新所述预设的垃圾回收调优方案库。5.根据权利要求1所述的方法,其特征在于,所述预设性能指标包括内存占用指标,和/或延迟响应指标,和/或吞吐量指标。6.一种虚拟机垃圾回收调优装置,其特征在于,包括:调优方案匹配模块,用于根据目标程序的预设性能指标,在预设的垃圾回收调优方案库中查找到匹配所述预设性能指标的调优方案;所述调优方案包括采用的垃圾收集器以及所述虚拟机的堆空间的设置参数;调优程序控制模块,用...

【专利技术属性】
技术研发人员:李方媛敖琪靳国杰高翔
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1