一种内存管理方法以及装置制造方法及图纸

技术编号:15070302 阅读:67 留言:0更新日期:2017-04-06 17:26
本发明专利技术公开了一种内存管理方法,包括:将至少一个内存进行池化,形成内存池;从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;获取所述CPU工作时消耗的内存空间值;判断所述内存空间值是否超出预设的阈值区间;若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。本发明专利技术提供的内存管理方法,实现了内存和CPU之间的解耦,能够分别对内存和CPU进行动态扩展,减少了资源的浪费;并对CPU工作时消耗的内存空间值进行动态调整,使内存得到合理的利用。

【技术实现步骤摘要】

本申请涉及内存管理
,具体涉及一种内存管理方法。本申请同时涉及一种内存管理装置。
技术介绍
中央处理器CPU和内存作为目前计算机设备中最重要的配置,对计算机设备的性能有至关重要的作用,随着业务系统的发展,对CPU以及内存的需求也越来越高,CPU的处理能力不断提高,内存的容量也越来越大,随之而来的内存管理策略也越来越复杂,尤其表现在服务器系统中。一般而言,单台服务器中的内存与CPU的配比是固定的,当需要增加CPU或者增加内存时,必须以增加一台或者多台服务器的方式同时增加CPU和内存,造成了CPU或者内存的利用率下降,同时也造成了资源浪费。当前,针对上述导致CPU或者内存的利用率下降以及资源浪费的问题,提出了基于软件层面的解决办法,在软件中基于协议封装的形式来管理和调度服务器系统中的内存。上述现有技术提供的内存管理方法存在明显的缺陷。现有技术提供的内存管理方法,内存无法动态扩展;此外,在软件中基于协议封装的解决方案,服务器系统中的CPU在处理协议时消耗的内存空间比较大,并且存在一定的延时,降低了服务器系统的处理效率。
技术实现思路
本申请提供一种内存管理方法,以解决现有的内存管理方法存在的扩展性不足和处理效率低下的问题。本申请同时涉及一种内存管理装置。本申请提供一种内存管理方法,其特征在于,包括:将至少一个内存进行池化,形成内存池;从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;获取所述CPU工作时消耗的内存空间值;判断所述内存空间值是否超出预设的阈值区间;若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。可选的,所述从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放之后,包括:返回获取所述CPU工作时消耗的内存空间值步骤。可选的,所述判断所述内存空间值是否超出预设的阈值区间;若否,则返回获取所述CPU工作时消耗的内存空间值步骤。可选的,所述从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存,包括:选择与所述CPU的数量相等的内存控制器;将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配给所述CPU,作为所述CPU的固定内存;其中,所述DIMM槽位对应的内存空间的地址为固定地址。可选的,所述获取所述CPU工作时消耗的内存空间值,包括:获取所述CPU中每一个CPU工作时消耗的内存空间值;相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:判断所述CPU中每一个CPU工作时消耗的内存空间值是否超出预设的第一阈值;若超出,从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU;若不超出,判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值;若低于,将分配给该CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给该CPU的内存空间为所述固定内存;若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步骤。可选的,所述从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU,包括:判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同一通道的DIMM槽位;若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;若否,判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;若不存,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。可选的,所述获取所述CPU工作时消耗的内存空间值,包括:获取所述CPU中每一个CPU工作时消耗的内存空间值;对所有获取的每一个CPU工作时消耗的内存空间值进行求和,获得所述CPU工作时消耗的总的内存空间值;相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:判断所述CPU工作时消耗的总的内存空间值是否超出预设的第一阈值;若超出,从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述CPU中每一个CPU;若不超出,判断所述CPU工作时消耗的总的内存空间值是否低于预设的第二阈值;若低于,将分配给所述CPU中每一个CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给所述CPU中每一个CPU的内存空间都为所述固定内存;若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步骤。可选的,所述从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述CPU中每一个CPU,包括:依次判断所述共享内存池中是否存在与所述CPU中每一个CPU的固定内存对应的DIMM槽位处于同一通道的DIMM槽位;若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;若否,判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;若不存在,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。可选的,所述内存管理方法,包括:将所述CPU中的每一个CPU作为一个CPU节点,并将所有的CPU节点之间相互连接,形成CPU池。本申请还提供一种内存管理装置,包括:内存池化单元,用于将至少一个内存进行池化,形成内存池;内存划分单元,用于从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;内存空间值获取单元,用于获取所述CPU工作时消耗的内存空间值;内存空间值判断单元,用于判断所述内存空间值是否超出预设的阈值区间;若是,则进入内存管理单元;所述内存本文档来自技高网...

【技术保护点】
一种内存管理方法,其特征在于,包括:将至少一个内存进行池化,形成内存池;从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;获取所述CPU工作时消耗的内存空间值;判断所述内存空间值是否超出预设的阈值区间;若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。

【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:
将至少一个内存进行池化,形成内存池;
从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,
作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空
间作为共享内存池;
获取所述CPU工作时消耗的内存空间值;
判断所述内存空间值是否超出预设的阈值区间;
若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分
配给所述CPU的内存空间进行释放。
2.根据权利要求1所述的内存管理方法,其特征在于,所述从所述共享内
存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进
行释放之后,包括:
返回获取所述CPU工作时消耗的内存空间值步骤。
3.根据权利要求1所述的内存管理方法,其特征在于,所述判断所述内存
空间值是否超出预设的阈值区间;
若否,则返回获取所述CPU工作时消耗的内存空间值步骤。
4.根据权利要求1所述的内存管理方法,其特征在于,所述从所述内存池
中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固
定内存,包括:
选择与所述CPU的数量相等的内存控制器;
将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将
所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配
给所述CPU,作为所述CPU的固定内存;
其中,所述DIMM槽位对应的内存空间的地址为固定地址。
5.根据权利要求4所述的内存管理方法,其特征在于,所述获取所述CPU
工作时消耗的内存空间值,包括:
获取所述CPU中每一个CPU工作时消耗的内存空间值;
相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:
判断所述CPU中每一个CPU工作时消耗的内存空间值是否超出预设的第一

\t阈值;
若超出,从所述共享内存池中按照所述内存空间值的特定比例申请内存空
间,分配给该CPU;
若不超出,判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值;
若低于,将分配给该CPU的内存空间按照所述内存空间值的特定比例进行
释放,直至分配给该CPU的内存空间为所述固定内存;
若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步
骤。
6.根据权利要求5所述的内存管理方法,其特征在于,所述从所述共享内
存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU,包括:
判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同
一通道的DIMM槽位;
若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,
分配给该CPU;
若否,判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位
处于同一内存控制器的DIMM槽位;
若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定
比例,分配给该CPU;
若不存,则将所述共享内存池中的内存空间按照所述内存空间值的特定比
例,分配给该CPU。
7.根据权利要求4所述的内存管理方法,其特征在于,所述获取所述CPU
工作时消耗的内存空间值,包括:
获取所述CPU中每一个CPU工作时消耗的内...

【专利技术属性】
技术研发人员:牛功彪黄征
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1