一种JVM运行参数的配置方法、装置、设备及介质制造方法及图纸

技术编号:20074654 阅读:19 留言:0更新日期:2019-01-15 00:31
本发明专利技术公开了一种JVM运行参数的配置方法、装置、设备及介质。该方法首先是获取JVM所在容器的实际资源配额,然后根据预设参数配置逻辑计算与实际资源配额相对应的JVM运行参数。由于每次在容器启动时,都要执行上述步骤,因此,得到JVM运行参数都是根据当前容器的实际资源配额确定的,是一个动态的选取过程,能够克服采用固定资源配置JVM运行参数所带来的资源过多分配或分配不足的问题;并且该方法能够自动获取实际资源配额,以及根据预设参数配置逻辑进行计算,也就无需部署人员指定相应的环境变量,因此能够减少工作量以及出错的可能性。此外,本发明专利技术公开的JVM运行参数的配置装置、设备及介质,效果如上。

A Configuration Method, Device, Equipment and Media of JVM Operating Parameters

The invention discloses a configuration method, device, equipment and medium of JVM operation parameters. The method first obtains the actual resource quota of the container where the JVM is located, and then calculates the JVM operation parameters corresponding to the actual resource quota according to the preset parameter configuration logic. Because the above steps must be executed every time the container starts up, the JVM operation parameters are determined according to the actual resource quota of the current container, and it is a dynamic selection process, which can overcome the problem of excessive or insufficient allocation of resources caused by the use of fixed resource allocation JVM operation parameters; moreover, the method can automatically obtain the actual resource quota, and By calculating according to the preset parameter configuration logic, there is no need for the deployer to specify the corresponding environment variables, so the workload and the possibility of error can be reduced. In addition, the configuration device, equipment and medium of the JVM operation parameters disclosed by the invention have the above effect.

【技术实现步骤摘要】
一种JVM运行参数的配置方法、装置、设备及介质
本专利技术涉及Java应用
,特别是涉及一种JVM运行参数的配置方法、装置、设备及介质。
技术介绍
Java应用程序(简称Java应用)的使用越来越普及,当前部署Java应用最常用的方式是通过容器的方式部署,通常情况下,容器为Docker容器。容器化部署Java应用具有轻量化、消耗资源低、部署速度快等许多优势。然而,容器作为一种新兴技术,现有的许多工具并没有针对在容器内运行的场景方面的优化,目前Java应用运行所依赖的JVM(Java虚拟机)就是如此。在JVM上运行Java应用时,为获取应用运行的最佳性能,如果不显式为JVM指定运行参数,JVM会根据主机现有资源配置Java应用的运行环境,例如“最大堆内存”会默认配置为主机内存的1/4。但是,由于JVM无法得知自身是否在容器中运行,因此并未考虑到容器的资源限制,也就是说容器的资源限制并没有对JVM的配置过程起作用,JVM依然根据实际运行主机的资源来配置Java应用的运行环境,一旦Java应用实际使用资源超过容器的资源配额时,容器就会强行停止Java应用的运行。由此可见,如何提供一种灵活的配置方法,使得在部署Java应用时能够降低部署人员的工作量和出错可能性是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种Java应用的JVM运行参数的配置方法、装置、设备及介质,用于改善配置的灵活性,使得在部署Java应用时能够降低部署人员的工作量和出错可能性。为解决上述技术问题,本专利技术提供一种Java应用的JVM运行参数的配置方法,包括:获取JVM所在容器的实际资源配额;根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数。优选地,所述实际资源配额具体包括:所述容器所在的主机节点的实际物理内存和所述容器自身内存配额;所述根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数具体包括:根据所述实际物理内存的四分之一和所述容器自身内存配额的二分之一中的较小值计算所述JVM运行参数中的内存相关调优参数。优选地,所述实际资源配额还包括:所述容器所在的主机节点的CPU核数和所述容器自身CPU核数;所述根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数具体包括:根据所述实际物理内存的四分之一和所述容器自身内存配额的二分之一中的较小值计算所述JVM运行参数中的内存相关调优参数;根据所述CPU核数的四分之一和所述容器自身CPU核数中的较小值计算所述JVM运行参数中的JVM并发相关参数。优选地,所述内存相关调优参数具体包括-Xmx、-Xms、-Xmn、-XX:PermSize、-XX:MaxPermSize、-XX:NewSize、-XX:MaxNewSize、-Xss、-XX:ThreadStackSize。优选地,所述-Xmx具体通过如下公式计算得到:所述容器自身内存配额-(保留代码占用内存+线程栈大小*应用线程数+单个类内存*类数量)。优选地,所述JVM并发相关参数具体包括-XX:ParallelGCThreads、-XX:CICompilerCount、-XX:ConcGCThreads。优选地,所述配置方法还包括:根据应用的使用场景,在基础镜像中配置默认的调优参数。为解决上述技术问题,本专利技术还提供一种Java应用的JVM运行参数的配置装置,包括:获取单元,用于获取JVM所在容器的实际资源配额;计算单元,用于根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数。优选地,所述实际资源配额包括:所述容器所在的主机节点的实际物理内存和所述容器自身内存配额;所述计算单元包括:内存相关调优参数计算单元,用于根据所述实际物理内存的四分之一和所述容器自身内存配额的二分之一中的较小值计算所述JVM运行参数中的内存相关调优参数。优选地,所述实际资源配额还包括:所述容器所在的主机节点的CPU核数和所述容器自身CPU核数;所述计算单元还包括:JVM并发相关参数计算单元,用于根据所述CPU核数的四分之一和所述容器自身CPU核数中的较小值计算所述JVM运行参数中的JVM并发相关参数。优选地,所述内存相关调优参数包括-Xmx、-Xms、-Xmn、-XX:PermSize、-XX:MaxPermSize、-XX:NewSize、-XX:MaxNewSize、-Xss、-XX:ThreadStackSize。优选地,所述-Xmx通过如下公式计算得到:所述容器自身内存配额-(保留代码占用内存+线程栈大小*应用线程数+单个类内存*类数量)。优选地,所述JVM并发相关参数具体包括-XX:ParallelGCThreads、-XX:CICompilerCount、-XX:ConcGCThreads。优选地,所述配置装置还包括:默认配置单元,用于根据应用的使用场景,在基础镜像中配置默认的调优参数。为解决上述技术问题,本专利技术还提供一种Java应用的JVM运行参数的配置设备,包括存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述所述的Java应用的JVM运行参数的配置方法的步骤。为解决上述技术问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的Java应用的JVM运行参数的配置方法的步骤。本专利技术所提供的Java应用的JVM运行参数的配置方法,首先是获取JVM所在容器的实际资源配额,然后根据预设参数配置逻辑计算与实际资源配额相对应的JVM运行参数。由于每次在容器启动时,都要执行上述步骤,因此,得到JVM运行参数都是根据当前容器的实际资源配额确定的,也就是说,JVM运行参数的选取是一个动态的选取过程,因此能够克服采用固定资源配置JVM运行参数所带来的资源过多分配或分配不足的问题;并且上述方法确定后,能够自动获取实际资源配额,以及根据预设参数配置逻辑进行计算,也就无需部署人员指定相应的环境变量,因此能够大大降低部署人员的工作量以及出错的可能性。此外,本专利技术还提供与上述方法对应的Java应用的JVM运行参数的配置装置、设备及计算机存储介质,效果如上所述。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种Java应用的JVM运行参数的配置方法的流程图;图2为本专利技术实施例提供的一种Java应用的JVM运行参数的配置装置的结构图;图3为本专利技术实施例提供的一种Java应用的JVM运行参数的配置设备的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。为了解决
技术介绍
提到的问题,相关技术中有两种解决方式,一种方式是在制作Java应用的基础镜像(主要包括标准的运行环境)时规定基础镜像运行所要求的资源本文档来自技高网
...

【技术保护点】
1.一种Java应用的JVM运行参数的配置方法,其特征在于,包括:获取JVM所在容器的实际资源配额;根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数。

【技术特征摘要】
1.一种Java应用的JVM运行参数的配置方法,其特征在于,包括:获取JVM所在容器的实际资源配额;根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数。2.根据权利要求1所述的Java应用的JVM运行参数的配置方法,其特征在于,所述实际资源配额包括:所述容器所在的主机节点的实际物理内存和所述容器自身内存配额;所述根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数包括:根据所述实际物理内存的四分之一和所述容器自身内存配额的二分之一中的较小值计算所述JVM运行参数中的内存相关调优参数。3.根据权利要求2所述的Java应用的JVM运行参数的配置方法,其特征在于,所述实际资源配额还包括:所述容器所在的主机节点的CPU核数和所述容器自身CPU核数;所述根据预设参数配置逻辑计算与所述实际资源配额相对应的JVM运行参数还包括:根据所述CPU核数的四分之一和所述容器自身CPU核数中的较小值计算所述JVM运行参数中的JVM并发相关参数。4.根据权利要求2或3所述的Java应用的JVM运行参数的配置方法,其特征在于,所述内存相关调优参数包括-Xmx、-Xms、-Xmn、-XX:PermSize、-XX:MaxPermSize、-XX:NewSize、-XX:MaxNewSize、-Xss、-XX:ThreadStackSize。5...

【专利技术属性】
技术研发人员:李诚陈军
申请(专利权)人:杭州数梦工场科技有限公司
类型:发明
国别省市:浙江,33

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

1