CN112231066B - 一种基于jvm内存使用的优化处理方法及系统 - Google Patents
一种基于jvm内存使用的优化处理方法及系统 Download PDFInfo
- Publication number
- CN112231066B CN112231066B CN202011180826.2A CN202011180826A CN112231066B CN 112231066 B CN112231066 B CN 112231066B CN 202011180826 A CN202011180826 A CN 202011180826A CN 112231066 B CN112231066 B CN 112231066B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- running
- memory
- program
- processes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 24
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 234
- 230000008569 process Effects 0.000 claims abstract description 210
- 238000009826 distribution Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例公开了一种基于JVM内存使用的优化处理方法及系统,用于提高实时交互进程的效率。本申请实施例方法包括:系统判断单台虚拟机的内存使用量值是否超过第一占比;若否,则所述系统确定所述单台虚拟机需要的运行进程的数量;所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量;若是,则所述系统根据所述运行进程的数量确定需要新创建的程序的数量;所述系统将所需的运行进程按照预设规则分配至新创建的程序中。
Description
技术领域
本申请实施例涉及数据处理区域,尤其涉及一种基于JVM内存使用的优化处理方法及系统。
背景技术
如今,电子系统直接与终端用户交互,要求系统具备较高的实时性和交互性,及时准确地响应用户请求。Java虚拟机(JVM,Java Virtual Machine)是可运行JAVA程序的假想计算机,包括字节码指令集、寄存器、栈、垃圾回收、堆以及存储方法域,JVM是运行在操作系统之上的,它与硬件没有直接的交互。
虽然对于现在的系统与终端用户能够进行日常的实时交互,但是在需要高性能要求的实时交互过程中,通常会因为系统响应时间长、被误判负载过高或低、无应答时间过长等因素导致无法满足该要求。例如,在内存使用率高时,JVM中的Java对象被垃圾回收机制(GC,Garbage Collection)有效回收,在这种情形下JVM承受的最大负载率并不高,若用内存使用率来表征就会被误判为负载过高,从而使得实时交互进程的效率低下。
发明内容
本申请实施例提供了一种基于JVM内存使用的优化处理方法及系统,用于提高实时交互进程的效率。
本申请实施例在第一方面提供了一种基于JVM内存使用的优化处理方法,包括:
系统判断单台虚拟机的内存使用量值是否超过第一占比;
若否,则所述系统确定所述单台虚拟机需要的运行进程的数量;
所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量;
若是,则所述系统根据所述运行进程的数量确定需要新创建的程序的数量;
所述系统将所需的运行进程按照预设规则分配至新创建的程序中。
可选的,所述确定所述单台虚拟机需要的运行进程的数量之后,所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量之前,所述方法还包括:
所述系统确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存。
可选的,所述系统确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存之后,所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量之前,所述方法还包括:
所述系统确定所述第一内存与所述单个程序承受的最大负载的倍数关系,所述倍数关系表示所述第一内存为所述单个程序承受的最大负载的N倍的关系;
所述系统根据所述倍数关系确定所述单个程序需要的运行进程的数量。
可选的,所述系统确定所述单台虚拟机需要的运行进程的数量,包括:
所述系统接收所述单台虚拟机发送的请求,所述请求为所述单台虚拟机访问运行进程的域名的请求;
所述系统根据接收的所述请求的数量确定所述单台虚拟机需要的所述运行进程的数量。
可选的,所述系统根据所述运行进程的数量确定需要新创建的程序的数量之前,所述方法还包括:
所述系统根据所述请求确定所需的运行进程的业务类别;
所述系统根据所述运行进程的业务类别确定服务所述运行进程所需的程序种类。
可选的,所述系统将所需的运行进程按照预设规则分配至新创建的程序中,包括:
所述系统根据所述程序种类确定每个种类的程序的内存域值;
所述系统根据所述内存域值对对应业务类别的运行进程进行分组,以使得所述分组内的运行进程所需要占用的内存不大于所述内存域值;
所述系统将所述分组分配至对应种类的新创建的程序中。
可选的,所述系统判断单台虚拟机的内存使用量值是否超过第一占比之后,所述方法还包括:
若是,则所述系统进行初始化,清除正在使用的物理内存。
可选的,所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量之后,所述方法还包括:
若否,则所述系统运行所述运行进程。
本申请实施例在第二方面提供了一种基于JVM内存使用的优化处理系统,包括:
第一判断单元,用于判断单台虚拟机的内存使用量值是否超过第一占比;
第一执行单元,用于当所述第一判断单元确定所述单台虚拟机的内存使用量值未超过第一占比时,确定所述单台虚拟机需要的运行进程的数量;
第二判断单元,用于判断所述运行进程的数量是否超过单个程序所需求的进程数量;
第二执行单元,用于当所述第二判断单元确定所述运行进程的数量超过单个程序所需求的进程数量时,根据所述运行进程的数量确定需要新创建的程序的数量;
分配单元,用于将所需的运行进程按照预设规则分配至新创建的程序中。
可选的,所述系统还包括:
第一确定单元,用于确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存;
第二确定单元,用于确定所述第一内存与所述单个程序承受的最大负载的倍数关系,所述倍数关系表示所述第一内存为所述单个程序承受的最大负载的N倍的关系;
第三确定单元,用于根据所述倍数关系确定所述单个程序需要的运行进程的数量。
可选的,所述第一执行单元,包括:
接收模块,用于接收所述单台虚拟机发送的请求,所述请求为所述单台虚拟机访问运行进程的域名的请求;
第四确定模块,用于根据接收的所述请求的数量确定所述单台虚拟机需要的所述运行进程的数量。
可选的,所述系统还包括:
第五确定单元,用于根据所述单台虚拟机发送的请求确定所需的运行进程的业务类别;
第六确定单元,用于根据所述运行进程的业务类别确定服务所述运行进程所需的程序种类。
可选的,所述分配单元,包括:
第七确定模块,用于根据所述程序种类确定每个种类的程序的内存域值;
分组模块,用于根据所述内存域值对对应业务类别的运行进程进行分组,以使得所述分组内的运行进程所需要占用的内存不大于所述内存域值;
第一分配模块,用于将所述分组分配至对应种类的新创建的程序中。
可选的,所述系统还包括:
第三执行单元,用于当所述第一判断单元确定所述单台虚拟机的内存使用量值超过第一占比时,进行初始化,清除正在使用的物理内存;
第四执行单元,用于当所述第二判断单元确定所述运行进程的数量未超过单个程序所需求的进程数量时,运行所述运行进程。
本申请实施例在第三方面提供了一种基于JVM内存使用的优化处理系统,包括:
处理器、存储器、输入输出单元、总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述处理器具体执行如下操作:
判断单台虚拟机的内存使用量值是否超过第一占比;
若否,则确定所述单台虚拟机需要的运行进程的数量;
判断所述运行进程的数量是否超过单个程序所需求的进程数量;
若是,则根据所述运行进程的数量确定需要新创建的程序的数量;
将所需的运行进程按照预设规则分配至新创建的程序中。
可选的,所述处理器还用于执行第一方面中的任意可选方案的操作。
一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如前述第一方面以及第一方面的任意可选的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
系统先判断单台虚拟机的内存使用量值是否超出了单台虚拟机维持正常运行的内存使用量值;若否,则确定单台虚拟机需要的运行进程的数量;然后根据运行进程的数量判断是否满足单个程序进行服务;若否,则根据运行进程的数量确定需要新创建的程序的数量;接着将需要的运行进程按照预设规则分配至新创建的程序中。该方法能够对单台虚拟机的运行进程的内存空间进行合理分配,避免了FGC时间过高,减少了系统的响应时间,从而提高两者之间的实时交互进程的效率。
附图说明
图1为本申请实施例中一种基于JVM内存使用的优化处理方法的一个实施例流程示意图;
图2-1和图2-2为本申请实施例中一种基于JVM内存使用的优化处理方法的另一个实施例流程示意图;
图3为本申请实施例中一种基于JVM内存使用的优化处理系统的一个实施例结构示意图;
图4为本申请实施例中一种基于JVM内存使用的优化处理系统的另一个实施例结构示意图;
图5为本申请实施例中一种基于JVM内存使用的优化处理系统的另一个实施例结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护范围。
本申请实施例提供了一种基于JVM内存使用的优化处理方法,用于提高实时交互进程的效率。
在本实施例中,基于JVM内存使用的优化处理方法可在系统实现,可以在服务器实现,也可以在终端实现,具体不做明确限定。为方便描述,本申请实施例使用系统为执行主体举例描述。
请参阅图1,本申请实施例中基于JVM内存使用的优化处理方法的一个实施例包括:
101、系统判断单台虚拟机的内存使用量值是否超过第一占比,若否,则执行步骤102;
JVM是Java Virtual Machine的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM管理内存分为五个部分:方法区、堆内存、虚拟机栈、本地方法栈以及程序计数器,为了提升系统与终端用户两者间的交互效率,需要提升JVM对硬件资源的使用效率。
为了确定单台虚拟机是否能够运行需要的运行进程,首先需要判断单台虚拟机的内存使用量值是否超过第一占比,因为虚拟机内若存在正在运行的程序,且在运行的过程中内存使用量值超过了第一占比,虚拟机就不能再运行后续需要的运行进程,否则会使得全局垃圾清理时间过长,从而导致交互效率低下。
若否,则执行步骤102。
102、系统确定所述单台虚拟机需要的运行进程的数量;
系统确定单台虚拟机的内存使用量值未超过第一占比时,系统确定单台虚拟机需要的运行进程的数量。系统确定所需运行进程的数量可以通过多种方式获取,可以是通过在虚拟机发送的访问域名的请求中获取的访问列表的数量来获取到,还可以是通过访问域名的请求中所携带的访问标识的数量来获取到,具体的获取方式此处不做限定。
103、系统判断所述运行进程的数量是否超过单个程序所需求的进程数量,若是,则执行步骤104;
系统在确定了单台虚拟机需要的运行进程的数量之后,因为单个程序所能承载的运行进程都是有限定的,因此,需要判断运行进程的数量是否超过单个程序所需求的进程数量,若是,则执行步骤104。
104、系统根据所述运行进程的数量确定需要新创建的程序的数量;
当系统确定运行进程的数量超过了单个程序所需求的进程数量时,系统根据运行进程的数量确定需要新创建的程序的数量。
105、系统将所需的运行进程按照预设规则分配至新创建的程序中。
在系统确定了需要新创建的程序的数量之后,系统需要将所述的运行进程根据预设规则给程序分配,预设规则的标准可以有多种,可以是按照运行进程与程序的业务类别分别进行对应分配,还可以是按照运行进程与程序的语言种类分别进行对应分配,具体此处不做限定。
上述实施例中,系统在对需要进行操作的单台虚拟机的内存使用量进行判断,若是该内存使用量值没有超过第一占比,则确定该单台虚拟机需要的运行进程的数量,接着根据运行进程的数量判断是否超出了单个程序所需要的进程数量,若是,则根据该数量确定需要新创建的程序的数量,最后将所需的运行进程按照预设规则分配到新创建的程序中,这样一来,可以对单台虚拟机的运行进程的内存空间进行合理分配,避免了FGC时间过高,减少了系统的响应时间,从而提高两者之间的实时交互进程的效率。
为清楚描述基于JVM内存使用的优化处理方法,本申请实施例将结合图2-1和图2-2来进行详细描述。
201、系统判断单台虚拟机的内存使用量值是否超过第一占比,若是,则执行步骤202;若否,则执行步骤203;
本实施例中的步骤201与前述实施例中步骤101类似,此处不再赘述。
202、系统进行初始化,清除正在使用的物理内存;
当系统确定单台虚拟机的内存使用量值超过第一占比时,系统进行初始化,清除正在使用的物理内存。
203、系统接收所述单台虚拟机发送的请求,所述请求为所述单台虚拟机访问运行进程的域名的请求;
204、系统根据接收的所述请求的数量确定所述单台虚拟机需要的所述运行进程的数量;
当系统确定单台虚拟机的内存使用量值未超过第一占比时,确定单台虚拟机可以继续添加运行进程。因此,系统可以统计从单台虚拟机发送的访问所需的运行进程的域名的请求的数量来确定所需的运行进程的数量。除此之外,还可以从请求中的访问标识获取到所需运行进程的业务类别。
205、系统确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存;
206、系统确定所述第一内存与所述单个程序承受的最大负载的倍数关系,所述倍数关系表示所述第一内存为所述单个程序承受的最大负载的N倍的关系;
系统在判断所述运行进程的数量是否超过单个程序所需求的进程数量之前,需要找到运行进程与单个程序之间的联系,因此,系统首先需要确定在单台虚拟机中单个运行进程需要占用到多少运行内存,这个内存在此可以指代为第一内存;接着,系统需要确定单个运行进程的第一内存与单个程序承受的最大负载的倍数关系。例如,单个运行程序能够最大承受3个第一内存量的负载,则表示在单台虚拟机中第一内存与该运行程序承受的最大负载为3倍的关系。
207、系统根据所述倍数关系确定所述单个程序需要的运行进程的数量;
系统确定下单台虚拟机中单个运行进程的第一内存与单个程序承受的最大负载的倍数关系之后,再根据确定的倍数确定所述单个程序需要的运行进程的数量。例如,单台虚拟机中第一内存与该运行程序承受的最大负载为3倍的关系,而第一内存是单台虚拟机中单个运行进程所需要占用的内存量,则可以根据最大负载为3倍的倍数关系确定该单个程序所需要的运行进程的数量为3个。
208、系统判断所述运行进程的数量是否超过单个程序所需求的进程数量,若是,则执行步骤209;若否,则执行步骤210;
本实施例中的步骤208与前述实施例中步骤103类似,此处不再赘述。
209、系统根据所述请求确定所需的运行进程的业务类别;
当系统确定运行进程的数量超过单个程序所需求的进程数量时,系统根据接收到的请求确定所需的运行进程的业务类别。
此步骤执行后执行步骤211。
210、系统运行所述运行进程;
当系统判断运行进程的数量未超过单个程序所需求的进程数量时,系统运行所需的运行进程。
211、系统根据所述运行进程的业务类别确定服务所述运行进程所需的程序种类;
209步骤执行后执行此步骤。
系统在确定了所需的运行进程的业务类别之后,也需要确定该业务类别的运行进程所需要的程序种类,只有对应上了,后续才能根据程序种类进行对应的新的程序的创建,运行进程才能满足程序的服务条件。
212、系统根据所述运行进程的数量确定需要新创建的程序的数量;
213、系统根据所述程序种类确定每个种类的程序的内存域值;
214、系统根据所述内存域值对对应业务类别的运行进程进行分组,以使得所述分组内的运行进程所需要占用的内存不大于所述内存域值;
215、系统将所述分组分配至对应种类的新创建的程序中。
在系统根据运行进程的数量确定了需要新创建的程序的数量后,需要按照预设规则分配运行进程至创建的程序中,因此,系统首先需要根据程序种类确定该类别的程序的内存域值,内存域值的设置在本实施例中可以为一个具体的参数,也可以为一个范围,具体此处不做限定。需要进行内存域值的确定的原因是因为程序在单台虚拟机进行运行的过程中,分配给该程序的内存使用量若始终超出内存域值或处于内存域值之外,会导致全局垃圾清理的时间过长,系统不能重新有效地分配和调整资源,影响系统与终端用户的实时交互效率。
系统在确定了该类别的程序的内存域值之后,对对应业务类别的运行进程进行分组,该分组内运行进程所需要占用的总内存是不能够大于对应类别的程序的内存域值的。
最后,系统再将分组分别分配至对应种类的程序中,使得在单台虚拟机上,系统可以运行所需的运行进程。
上述实施例中,系统可以根据单台虚拟机接收到的访问请求确定所需的运行进程的类别,再根据该类别确定服务所述运行进程所述的程序种类,实现了系统对单台虚拟机所需的运行进程的自主分析与生成功能,提高了系统操作的可靠性以及精确性。
上面对本申请实施例中的基于JVM内存使用的优化处理方法进行了描述,下面对本申请实施例中的基于JVM内存使用的优化处理系统进行描述:
请参阅图3,本申请实施例中基于JVM内存使用的优化处理系统的一个实施例包括:
第一判断单元301,用于判断单台虚拟机的内存使用量值是否超过第一占比;
第一执行单元302,用于当第一判断单元301确定单台虚拟机的内存使用量值未超过第一占比时,确定单台虚拟机需要的运行进程的数量;
第二判断单元303,用于判断运行进程的数量是否超过单个程序所需求的进程数量;
第二执行单元304,用于当第二判断单元303确定运行进程的数量超过单个程序所需求的进程数量时,根据运行进程的数量确定需要新创建的程序的数量;
分配单元305,用于将所需的运行进程按照预设规则分配至新创建的程序中。
本实施例中,第一判断单元301对目前单台虚拟机的内存使用量值的第一占比进行了判断,若是确定该内存使用量值没有超过第一占比,则第一执行单元302进一步确定单台虚拟机所需要的运行进程的数量;接着,第二判断单元303再判断所需的运行进程的数量是否超过单个程序所需求的进程数量,若是,则第二执行单元304根据该运行进程的数量确定需要创建的新的程序的数量,最后,分配单元305将所需的运行进程按照预设规则分配至新创建的程序中。这样,通过对单台虚拟机的内存使用量的占比的判断确定了单台虚拟机的使用状态,再通过对进程数量是否超过单个程序需求的判断确定是否需要新创建程序,实现了对单台虚拟机的运行进程的内存空间的合理分配,提高系统与终端用户这两者之间的实时交互进程的效率。
请参阅图4,本申请实施例中的基于JVM内存使用的优化处理系统的另一个实施例包括:
第一判断单元401,用于判断单台虚拟机的内存使用量值是否超过第一占比;
第三执行单元402,用于当第一判断单元401确定单台虚拟机的内存使用量值超过第一占比时,进行初始化,清除正在使用的物理内存;
第一执行单元403,用于当第一判断单元401确定单台虚拟机的内存使用量值未超过第一占比时,确定单台虚拟机需要的运行进程的数量;
第一确定单元404,用于确定在单台虚拟机中的单个运行进程所需要占用的第一内存;
第二确定单元405,用于确定第一内存与单个程序承受的最大负载的倍数关系,该倍数关系表示第一内存为单个程序承受的最大负载的N倍的关系;
第三确定单元406,用于根据倍数关系确定单个程序需要的运行进程的数量;
第二判断单元407,用于判断运行进程的数量是否超过单个程序所需求的进程数量;
第五确定单元408,用于根据单台虚拟机发送的请求确定所需的运行进程的业务类别;
第六确定单元409,用于根据运行进程的业务类别确定服务运行进程所需的程序种类;
第二执行单元410,用于当第二判断单元407确定运行进程的数量超过单个程序所需求的进程数量时,根据运行进程的数量确定需要新创建的程序的数量;
第四执行单元412,用于当第二判断单元407确定运行进程的数量未超过单个程序所需求的进程数量时,运行所需的运行进程;
分配单元411,用于将所需的运行进程按照预设规则分配至新创建的程序中。
本实施例中,第一执行单元403可以包括接收模块4031以及第四确定模块4032。
接收模块4031,用于接收单台虚拟机发送的请求,该请求为单台虚拟机访问运行进程的域名的请求;
第四确定模块4032,用于根据接收的请求的数量确定单台虚拟机需要的运行进程的数量。
本实施例中,分配单元411可以包括第七确定模块4111,分组模块4112以及第一分配模块4113。
第七确定模块4111,用于根据程序种类确定每个种类的程序的内存域值;
分组模块4112,用于根据内存域值对对应业务类别的运行进程进行分组,以使得每个分组内的运行进程所需要占用的内存不大于内存域值;
第一分配模块4113,用于将分组分配至对应种类的新创建的程序中。
上述实施例中,各单元以及模块的功能与前述图2-1、图2-2所述实施例中的步骤对应,此处不再赘述。
下面对本申请实施例中的基于JVM内存使用的优化处理系统进行详细描述。
请参阅图5,在本申请实施例中基于JVM内存使用的优化处理系统的另一个实施例包括:
处理器501、存储器502、输入输出单元503、总线504;
处理器501与存储器502、输入输出单元503以及总线504相连;
处理器501具体执行如下操作:
判断单台虚拟机的内存使用量值是否超过第一占比;
若否,则确定单台虚拟机需要的运行进程的数量;
判断运行进程的数量是否超过单个程序所需求的进程数量;
若是,则根据运行进程的数量确定需要新创建的程序的数量;
将所需的运行进程按照预设规则分配至新创建的程序中。
本实施例中,处理器501的功能与前述图1至图4所述实施例中的步骤对应,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种基于JVM内存使用的优化处理方法,其特征在于,包括:
系统判断单台虚拟机的内存使用量值是否超过第一占比;
若否,则所述系统确定所述单台虚拟机需要的运行进程的数量;
所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量;
若是,则所述系统根据所述运行进程的数量确定需要新创建的程序的数量;
所述系统将所需的运行进程按照预设规则分配至新创建的程序中。
2.根据权利要求1所述的优化处理方法,其特征在于,所述确定所述单台虚拟机需要的运行进程的数量之后,所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量之前,所述方法还包括:
所述系统确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存。
3.根据权利要求2所述的优化处理方法,其特征在于,所述系统确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存之后,所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量之前,所述方法还包括:
所述系统确定所述第一内存与所述单个程序承受的最大负载的倍数关系,所述倍数关系表示所述第一内存为所述单个程序承受的最大负载的N倍的关系;
所述系统根据所述倍数关系确定所述单个程序需要的运行进程的数量。
4.根据权利要求1所述的优化处理方法,其特征在于,所述系统确定所述单台虚拟机需要的运行进程的数量,包括:
所述系统接收所述单台虚拟机发送的请求,所述请求为所述单台虚拟机访问运行进程的域名的请求;
所述系统根据接收的所述请求的数量确定所述单台虚拟机需要的所述运行进程的数量。
5.根据权利要求4所述的优化处理方法,其特征在于,所述系统根据所述运行进程的数量确定需要新创建的程序的数量之前,所述方法还包括:
所述系统根据所述请求确定所需的运行进程的业务类别;
所述系统根据所述运行进程的业务类别确定服务所述运行进程所需的程序种类。
6.根据权利要求5所述的优化处理方法,其特征在于,所述系统将所需的运行进程按照预设规则分配至新创建的程序中,包括:
所述系统根据所述程序种类确定每个种类的程序的内存域值;
所述系统根据所述内存域值对对应业务类别的运行进程进行分组,以使得所述分组内的运行进程所需要占用的内存不大于所述内存域值;
所述系统将所述分组分配至对应种类的新创建的程序中。
7.根据权利要求1至6任意一项所述的优化处理方法,其特征在于,所述系统判断单台虚拟机的内存使用量值是否超过第一占比之后,所述方法还包括:
若是,则所述系统进行初始化,清除正在使用的物理内存。
8.根据权利要求1至6任意一项所述的优化处理方法,其特征在于,所述系统判断所述运行进程的数量是否超过单个程序所需求的进程数量之后,所述方法还包括:
若否,则所述系统运行所述运行进程。
9.一种基于JVM内存使用的优化处理系统,其特征在于,包括:
第一判断单元,用于判断单台虚拟机的内存使用量值是否超过第一占比;
第一执行单元,用于当所述第一判断单元确定所述单台虚拟机的内存使用量值未超过第一占比时,确定所述单台虚拟机需要的运行进程的数量;
第二判断单元,用于判断所述运行进程的数量是否超过单个程序所需求的进程数量;
第二执行单元,用于当所述第二判断单元确定所述运行进程的数量超过单个程序所需求的进程数量时,根据所述运行进程的数量确定需要新创建的程序的数量;
分配单元,用于将所需的运行进程按照预设规则分配至新创建的程序中。
10.根据权利要求9所述的优化处理系统,其特征在于,所述系统还包括:
第一确定单元,用于确定在所述单台虚拟机中的单个运行进程所需要占用的第一内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011180826.2A CN112231066B (zh) | 2020-10-29 | 2020-10-29 | 一种基于jvm内存使用的优化处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011180826.2A CN112231066B (zh) | 2020-10-29 | 2020-10-29 | 一种基于jvm内存使用的优化处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231066A CN112231066A (zh) | 2021-01-15 |
CN112231066B true CN112231066B (zh) | 2024-02-13 |
Family
ID=74109884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011180826.2A Active CN112231066B (zh) | 2020-10-29 | 2020-10-29 | 一种基于jvm内存使用的优化处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231066B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11972242B2 (en) | 2022-07-26 | 2024-04-30 | Red Hat, Inc. | Runtime environment optimizer for JVM-style languages |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662750A (zh) * | 2012-03-23 | 2012-09-12 | 上海交通大学 | 基于弹性虚拟机池的虚拟机资源优化控制方法及其系统 |
CN103870341A (zh) * | 2014-03-12 | 2014-06-18 | 汉柏科技有限公司 | 一种调整虚拟机资源的方法和系统 |
CN103945548A (zh) * | 2014-04-29 | 2014-07-23 | 西安电子科技大学 | 一种c-ran网络中的资源分配系统及任务/业务调度方法 |
CN104283946A (zh) * | 2014-09-26 | 2015-01-14 | 东北大学 | 一种单物理机下多虚拟机的资源自适应调整系统及方法 |
CN105357038A (zh) * | 2015-10-26 | 2016-02-24 | 北京百度网讯科技有限公司 | 监控虚拟机集群的方法和系统 |
US9547520B1 (en) * | 2015-09-25 | 2017-01-17 | International Business Machines Corporation | Virtual machine load balancing |
CN106909458A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 内存管理方法及装置 |
CN107291555A (zh) * | 2017-07-10 | 2017-10-24 | 上海斐讯数据通信技术有限公司 | 一种Java虚拟机的垃圾回收、负载均衡方法及系统 |
CN107515809A (zh) * | 2017-08-18 | 2017-12-26 | 国网山东省电力公司信息通信公司 | 一种电力系统的弹性伸缩方法及系统 |
CN108073441A (zh) * | 2016-11-14 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
CN108958891A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种虚拟机内存分配方法、装置及终端 |
CN110543357A (zh) * | 2018-05-28 | 2019-12-06 | 华为技术有限公司 | 管理应用程序对象的方法,相关装置及系统 |
CN111338802A (zh) * | 2020-02-29 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种优化大数据集群性能的方法、系统、设备及介质 |
CN111625321A (zh) * | 2020-07-30 | 2020-09-04 | 上海有孚智数云创数字科技有限公司 | 基于温度预测的虚拟机迁移规划调度方法及其系统与介质 |
CN111831467A (zh) * | 2020-07-21 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | java进程内存溢出自熔断的方法、系统和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018180591A (ja) * | 2017-04-03 | 2018-11-15 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム |
-
2020
- 2020-10-29 CN CN202011180826.2A patent/CN112231066B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662750A (zh) * | 2012-03-23 | 2012-09-12 | 上海交通大学 | 基于弹性虚拟机池的虚拟机资源优化控制方法及其系统 |
CN103870341A (zh) * | 2014-03-12 | 2014-06-18 | 汉柏科技有限公司 | 一种调整虚拟机资源的方法和系统 |
CN103945548A (zh) * | 2014-04-29 | 2014-07-23 | 西安电子科技大学 | 一种c-ran网络中的资源分配系统及任务/业务调度方法 |
CN104283946A (zh) * | 2014-09-26 | 2015-01-14 | 东北大学 | 一种单物理机下多虚拟机的资源自适应调整系统及方法 |
US9547520B1 (en) * | 2015-09-25 | 2017-01-17 | International Business Machines Corporation | Virtual machine load balancing |
CN105357038A (zh) * | 2015-10-26 | 2016-02-24 | 北京百度网讯科技有限公司 | 监控虚拟机集群的方法和系统 |
CN106909458A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 内存管理方法及装置 |
CN108073441A (zh) * | 2016-11-14 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
CN107291555A (zh) * | 2017-07-10 | 2017-10-24 | 上海斐讯数据通信技术有限公司 | 一种Java虚拟机的垃圾回收、负载均衡方法及系统 |
CN107515809A (zh) * | 2017-08-18 | 2017-12-26 | 国网山东省电力公司信息通信公司 | 一种电力系统的弹性伸缩方法及系统 |
CN110543357A (zh) * | 2018-05-28 | 2019-12-06 | 华为技术有限公司 | 管理应用程序对象的方法,相关装置及系统 |
CN108958891A (zh) * | 2018-07-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种虚拟机内存分配方法、装置及终端 |
CN111338802A (zh) * | 2020-02-29 | 2020-06-26 | 苏州浪潮智能科技有限公司 | 一种优化大数据集群性能的方法、系统、设备及介质 |
CN111831467A (zh) * | 2020-07-21 | 2020-10-27 | 北京思特奇信息技术股份有限公司 | java进程内存溢出自熔断的方法、系统和电子设备 |
CN111625321A (zh) * | 2020-07-30 | 2020-09-04 | 上海有孚智数云创数字科技有限公司 | 基于温度预测的虚拟机迁移规划调度方法及其系统与介质 |
Non-Patent Citations (2)
Title |
---|
"Virtual Machines Scheduling Algorithm Oriented Load Forecast";XiaoJun Chen;《2011 International Conference on Network Computing and Information Security》;全文 * |
"云计算中基于负载预测的虚拟资源调度策略";王萍;《 青岛农业大学学报》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112231066A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7853738B2 (en) | Efficient load/store buffer memory management in a computer communications network data transmission switch | |
US20110161972A1 (en) | Goal oriented performance management of workload utilizing accelerators | |
CN107070709B (zh) | 一种基于底层numa感知的nfv实现方法 | |
US8701095B2 (en) | Add/remove memory pressure per object | |
CN111290696A (zh) | 一种应用程序组件的流控方法及装置 | |
CN106170947A (zh) | 一种告警信息处理方法、相关设备和系统 | |
CN112231066B (zh) | 一种基于jvm内存使用的优化处理方法及系统 | |
CN110580195A (zh) | 一种基于内存热插拔的内存分配方法和装置 | |
CN115202836A (zh) | 一种提高gpu利用效率的算力池化系统 | |
CN110471769B (zh) | 一种虚拟机的资源管理方法及装置 | |
US20050089063A1 (en) | Computer system and control method thereof | |
CN117971906A (zh) | 一种多卡协同数据库查询方法、装置、设备及存储介质 | |
CN111400034B (zh) | 一种面向多核处理器的波形资源分配方法 | |
CN115543222B (zh) | 一种存储优化方法、系统、设备及可读存储介质 | |
CN111324454A (zh) | 多核cpu分配方法、装置、电子设备及存储介质 | |
CN115016890A (zh) | 虚拟机资源分配方法、装置、电子设备及存储介质 | |
CN111885159B (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN111858070B (zh) | 计算资源配置方法、装置、设备以及存储介质 | |
CN108874325B (zh) | 数据打印方法及系统 | |
CN116257331A (zh) | 基于字节码的程序分配方法、系统、终端以及存储介质 | |
CN117349037B (zh) | 在离线应用干扰消除方法、装置、计算机设备及存储介质 | |
CN110888741A (zh) | 应用容器的资源调度方法、装置、服务器及存储介质 | |
CN113918271A (zh) | 一种资源管理方法、装置、电子设备及存储介质 | |
CN111061697A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
CN111651123B (zh) | 一种并发io请求的处理方法、装置、设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |