【技术实现步骤摘要】
一种JAVA虚拟机内存分配系统及方法
[0001]本专利技术涉及计算机信息
,具体涉及一种JAVA虚拟机内存分配系统及方法。
技术介绍
[0002]在一个大型的面向JAVA语言开发的解决方案系统中,涉及多个JAVA进程(简称组件)协作形成应用系统,这就涉及到需要为不同的组件分配JVM内存。现有技术中通常采用的分配方式是预先指定每个组件所需的内存最小值及最大值。该分配方式存在以下问题:
[0003](1)不同的应用场景,系统需要满足的规格不同,导致各组件所需的内存大小不同,预先指定各组件内存的方式无法满足不同场景因规格变化导致的组件内存需求差异;导致需要针对不同的应用场景手工配置不同组件的内存值,同时需要为不同应用场景提供不同的版本,系统无法较好的做到通用性适配。
[0004](2)当系统中有组件增减时,需要人为地重新为所有组件分配内存,否则可能出现组件内存分配不合理的情况。特别是通过License(授权许可)控制某些组件不启动时,无法人为干预的情况下,其它启动的组件无法享用空余出来的内存,存在内存充足但 ...
【技术保护点】
【技术特征摘要】
1.一种JAVA虚拟机内存分配系统,其特征在于,包括:第一确定模块,用于根据部署的应用软件系统的规格指标确定所述应用软件系统的各自带组件需要占用的内存值;第二确定模块,用于确定第三方组件在所述应用软件系统各自带组件的所有规格指标项下需要占用的内存值;内存分配模块,用于根据确定的所述应用软件系统的各自带组件需要占用的内存值和第三方组件需要占用的内存值分别为对应组件分配内存值。2.如权利要求1所述的JAVA虚拟机内存分配系统,其特征在于,所述内存分配模块还用于:根据所述应用软件系统各自带组件需要占用的内存值、第三方组件需要占用的内存值以及所述应用软件系统的操作系统需要占用的内存计算应用软件系统需要占用的总内存;根据实际应用场景提供的物理内存与应用软件系统需要占用的总内存求取剩余内存;将剩余内存分配给所述应用软件系统的自带组件和第三方组件。3.如权利要求1所述的JAVA虚拟机内存分配系统,其特征在于,所述第一确定模块具体用于:确定应用软件系统的各自带组件在其基线规格下占用的基线内存值;根据部署的应用软件系统的实际规格指标项与对应基线规格下占用的基线内存值确定各自带组件实际需要占用的内存值。4.如权利要求3所述的JAVA虚拟机内存分配系统,其特征在于,所述确定应用软件系统的各自带组件在其基线规格下占用的基线内存值的方法包括:在应用软件系统出厂前,多次分别采样系统各自带组件的内存占用值;求取系统各自带组件下的影响内存资源占用的基线规格指标项的内存占用平均值;通过对各自带组件下的所有基线规格指标项的内存占用平均值进行求和,获取对应自带组件在其基线规格下占用的基线内存值。5.如权利要求1-4任意一项所述的JAVA虚拟机内存分配系统,其特征在于,所述第二确定模块,具体用于:根据第三方组件对内存的占用与所述自带组件在其对应规格指标项下占用的内存之间的比例关系,求取第三方组件在系统各自带组件的所有规格指标项下需要占用的内存值。6.一种JAVA虚拟机内存分配方法,其特征在于,包括以下步骤:a.根据部署的应用软件系统的规格指标确定所述应用软件系统的各自带组件需要占用的内存值;b.确定第三方组件在应用软件系统各自带组件的所有规格指标项下需要占用的内存值;c.根据确定的所述应用软件系统的各自带组件需要占用的内存值和第三方组件需要占用的内存值分别为对应组件分配内存值。7.如权利要求6所述的JAVA虚拟机内存分配方法,其特征在于,所述方法还包括步骤:d.根据所述应用软件系统各自带组件需要占用的内存值、第三方组件需要占用的内存值以及所述应用软件系统的操作系统需要占用的内存计算应用软件系统需要占用的总内
存;根据实际应用场景提供的物理内存与应用软件系统需要占用的...
【专利技术属性】
技术研发人员:杨斌,
申请(专利权)人:迈普通信技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。