一种内存分配方法及平台组成比例

技术编号:19489116 阅读:88 留言:0更新日期:2018-11-17 12:03
本发明专利技术公开了一种内存分配方法及平台,该方法根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量,若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量时,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量,根据所述第二内存分配量为所述第一进程分配内存。本发明专利技术一方面能够提升进程的运行流畅度,另一方面还能够避免内存的浪费。

【技术实现步骤摘要】
一种内存分配方法及平台
本专利技术涉及计算机
,特别涉及一种内存分配方法及平台。
技术介绍
当有新进程接入数据库时,需要为该新进程分配内存。现有的内存分配方法无法预测进程所需的内存大小,往往根据预设内存值为进程分配内存。若预设内存值过小时,会导致进程无法流畅运行;若预设内存值过大时,又会造成内存的浪费。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题之一,提供了一种内存分配方法及平台,一方面能够提升进程的运行流畅度,另一方面还能够避免内存的浪费。为实现上述目的,本专利技术提供了一种内存分配方法,包括:根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量;判断所述系统的剩余内存量是否小于或等于第二进程的内存分配量;若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量;根据所述第二内存分配量为所述第一进程分配内存。可选地,在所述根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量之前还包括:接收第一进程的连接请求;获取预先存储的与所述第一进程对应的历史最大内存使用量和系统历史最小剩余内存量;根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第一内存分配量;根据所述第一进程的第一内存分配量为第一进程分配内存。可选地,在所述根据所述第二内存分配量为所述第一进程分配内存之前还包括:接收第一进程的连接请求;获取预先存储的所述第一进程的第二内存分配量。可选地,还包括:若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据系统预设内存值为所述第二进程分配内存。可选地,所述根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第一内存分配量具体包括:通过公式M3=Min(M1,M2*0.618)生成所述第一进程的第一内存分配量,其中,M1表示与第一进程对应的历史最大内存使用量,M2表示与第一进程对应的系统历史最小剩余内存量,M3表示第一进程的第一内存分配量。可选地,所述根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量具体包括:通过公式M4=Min(M1,M2*0.6182)生成所述第一进程的第二内存分配量,其中,M1表示与第一进程对应的历史最大内存使用量,M2表示与第一进程对应的系统历史最小剩余内存量,M4表示第一进程的第二内存分配量。为实现上述目的,本专利技术还提供了一种内存分配平台,包括:生成模块、判断模块和分配模块;所述生成模块,用于根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量,若判断模块判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量;所述判断模块,用于判断所述系统的剩余内存量是否小于或等于第二进程的内存分配量;所述分配模块,用于根据所述第二内存分配量为所述第一进程分配内存。可选地,还包括:接收模块和获取模块;所述接收模块,用于接收第一进程的连接请求;所述获取模块,用于获取预先存储的与所述第一进程对应的历史最大内存使用量和系统历史最小剩余内存量;所述生成模块还用于根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第一内存分配量;所述分配模块还用于根据所述第一进程的第一内存分配量为第一进程分配内存。可选地,所述获取模块还用于获取预先存储的所述第一进程的第二内存分配量。可选地,所述分配模块还用于若判断模块判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据系统预设内存值为所述第二进程分配内存。本专利技术具有以下有益效果:本专利技术提供的内存分配方法,根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量,若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量时,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量,根据所述第二内存分配量为所述第一进程分配内存。本专利技术一方面能够提升进程的运行流畅度,另一方面还能够避免内存的浪费。附图说明图1是本专利技术实施例一提供的一种内存分配方法的流程示意图;图2是本专利技术实施例二提供的一种内存分配方法的流程示意图;图3是本专利技术实施例三提供的一种内存分配平台的结构示意图。具体实施方式为使本领域的技术人员更好地理解本专利技术的技术方案,下面结合附图对本专利技术中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一图1是本专利技术实施例一提供的一种内存分配方法的流程示意图,如图1所示,该内存分配方法包括:步骤101、根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量。步骤102、判断所述系统的剩余内存量是否小于或等于第二进程的内存分配量,若是,执行步骤103;若否,流程结束。步骤103、根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量。步骤104、根据所述第二内存分配量为所述第一进程分配内存,流程结束。本实施例提供的内存分配方法,根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量,若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量时,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量,根据所述第二内存分配量为所述第一进程分配内存。该方法一方面能够提升进程的运行流畅度,另一方面还能够避免内存的浪费。实施例二图2是本专利技术实施例二提供的一种内存分配方法的流程示意图,如图2所示,该内存分配方法包括:步骤201、接收第一进程的连接请求。优选地,本实施例的各步骤由内存分配平台执行。本实施例中所述的系统可以理解为数据库。本实施例以oracle数据库(甲骨文数据库)为例进行说明。oracle数据库为进程分配的内存包括两种类型:各进程可共享使用的SGA(SystemGlobalArea,系统全局区)和仅供某个进程单独使用的PGA(ProgramGlobalAreas,程序全局区),本实施例的内存分配方法仅针对PGA进行分配。进一步地,本实施例的内存分配方法中所涉及的进程为周期性运行的进程,如:每日凌晨全量更新用户信息表数据的进程、每月初全量更新用户营销数据的进程。第一进程的连接请求表示第一进程请求连接至系统。步骤202、获取预先存储的与所述第一进程对应的历史最大内存使用量和系统历史最小剩余内存量。与第一进程对应的历史最大内存使用量M1是指第一进程运行时的历史最大内存使用量,与第一进程对应的系统历史最小剩余内存量M2是指第一进程接入系统时所生成的系统历史最小剩余内存量。优选地,获取预先存储的最近十次第一进程运行时的最大内存使用量和最近十次第一进程运行时的系统最小剩余内存量。系统最小剩余内存量即为系统最小可用内存量。步骤203、根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第一内存分本文档来自技高网...

【技术保护点】
1.一种内存分配方法,其特征在于,包括:根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量;判断所述系统的剩余内存量是否小于或等于第二进程的内存分配量;若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量;根据所述第二内存分配量为所述第一进程分配内存。

【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量;判断所述系统的剩余内存量是否小于或等于第二进程的内存分配量;若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第二内存分配量;根据所述第二内存分配量为所述第一进程分配内存。2.根据权利要求1所述的内存分配方法,其特征在于,在所述根据预先生成的第一进程的第一内存分配量生成系统的剩余内存量之前还包括:接收第一进程的连接请求;获取预先存储的与所述第一进程对应的历史最大内存使用量和系统历史最小剩余内存量;根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第一内存分配量;根据所述第一进程的第一内存分配量为第一进程分配内存。3.根据权利要求2所述的内存分配方法,其特征在于,在所述根据所述第二内存分配量为所述第一进程分配内存之前还包括:接收第一进程的连接请求;获取预先存储的所述第一进程的第二内存分配量。4.根据权利要求1所述的内存分配方法,其特征在于,还包括:若判断出所述系统的剩余内存量小于或等于第二进程的内存分配量,根据系统预设内存值为所述第二进程分配内存。5.根据权利要求2所述的内存分配方法,其特征在于,所述根据与第一进程对应的历史最大内存使用量和系统历史最小剩余内存量生成所述第一进程的第一内存分配量具体包括:通过公式M3=Min(M1,M2*0.618)生成所述第一进程的第一内存分配量,其中,M1表示与第一进程对应的历史最大内存使用量,M2表示与第一进程对应的系统历史最小剩余内存量,M3表示第一进程的第一内存分配量。6.根据权利要求1所述的内存分配方...

【专利技术属性】
技术研发人员:王新宇
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京,11

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

1