一种内存管理的方法以及设备技术

技术编号:38623760 阅读:15 留言:0更新日期:2023-08-31 18:26
本申请提供了一种内存管理的方法以及设备,方法包括:响应于满足第一触发条件,对N个计算节点进行内存分配限速以使N个计算节对部属在N个计算节点上的业务实例进行内存分配限速;在对N个计算节点执行内存分配限速时,向第一计算节点迁移第一数据,和/或将业务实例迁移到第二计算节点,通过本申请提供的内存管理方法,可以在第一内存池存在热点时,对计算节点进行内存分配限速,延长第一内存池被占满的时间,并在内存分配限速期间,将第一内存池的部分数据迁移至第一计算节点,和/或将第一计算节点的业务实例迁移至第二计算节点以缓解第一内存池的压力,防止第一内存池爆仓,避免系统卡死,保证了重要业务的运行。保证了重要业务的运行。保证了重要业务的运行。

【技术实现步骤摘要】
一种内存管理的方法以及设备


[0001]本申请涉及计算机领域,并且更具体地,涉及一种内存管理的方法以及设备。

技术介绍

[0002]随着云技术的日益成熟与飞速发展,规模的不断壮大,提高分配率,降低运营成本逐渐成为各云厂商关注的重点,而内存池化与内存复用是提升内存分配率和使用率的重要手段。然而不同于CPU的算力的时分复用,内存资源是空间复用,内存上的数据是必须保留,且是完整安全的,当内存不足时,程序不可继续运行。目前为了降低成本,目前可以利用硬盘,非易失性存储器(non

volatile memory,NVM)等低成本低性能的存储介质作为swap分区,在内存不足时,将swap分区虚拟化为内存来使用,以将内存中的暂时不用的数据替换到swap分区中。但上述方式存在诸如以下的问题:(1)提供额外的硬件存储介质,在一定程度上也增加了成本;(2)由于非易失存储器、硬盘的读写性能差,会影响整体的性能;(3)进行数据迁移时,由于非易失存储器、硬盘的读写性能差,迁移的时间长。因此,亟需一种内存管理方法,保证业务的可靠性,降低迁移的时间,防止内存爆仓。

技术实现思路

[0003]本申请提供一种内存管理的方法以及设备,可以延长第一内存池被占满的时间,防止第一内存池爆仓,避免系统卡死,保证了重要业务的运行。
[0004]第一方面,提供了一种内存管理的方法,该方法包括:响应于满足第一触发条件,对N个计算节点进行内存分配限速以使该N个计算节对部属在该N个计算节点上的业务实例进行内存分配限速,N≥1且为整数,该N个计算节点与第一内存池关联,该N个计算节点部署有M个业务实例,M≥1且为整数;在对该N个计算节点执行内存分配限速时,向第一计算节点迁移第一数据,和/或将该M个业务实例中的P个业务实例迁移到第二计算节点,其中,M≥P≥1,且P为整数,该第二计算节点与第二内存池关联,该第一数据为存储在该第一内存池的数据。
[0005]本申请实施例中,当第一内存池存在热点时(例如内存池的剩余内存不足),对计算节点进行内存分配限速,可以延长第一内存池被占满的时间,并在内存分配限速期间,将第一内存池的部分数据迁移至第一计算节点,和/或将第一计算节点的业务实例迁移至第二计算节点以缓解第一内存池的压力,由于对计算节点进行了内存分配限速,有了更长的时间进行上述动作,防止第一内存池爆仓,避免系统卡死,保证了重要业务的运行。
[0006]此外,由于本申请实施例中没有采取NVM作为swap分区,不会影响数据迁移和业务实例迁移的速度。
[0007]结合第一方面,在第一方面的某些实现方式中,该第一触发条件包括以下中的一项或多项:该第一内存池的使用率大于或等于第一阈值;该第一内存池的冷页数量大于或等于第二阈值;该第一内存池的热页数量大于或等于第三阈值;该第一内存池的剩余内存小于或等于第四阈值;该第一内存池的剩余率小于或等于第五阈值。
[0008]结合第一方面,在第一方面的某些实现方式中,该对N个计算节点中进行内存分配限速,包括:确定该N个计算节点对应的N个内存分配限速策略;根据该N个内存分配限速策略对该N个计算节点进行内存分配限速。
[0009]结合第一方面,在第一方面的某些实现方式中,该N个计算节点对应的N个内存分配限速策略是预先设定的;或该N个计算节点对应的N个内存分配限速策略是根据该N个计算节点的优先级确定的;或该N个计算节点对应的N个内存分配限速策略是根据该N个计算节点使用内存的大小确定的。
[0010]结合第一方面,在第一方面的某些实现方式中,该第一计算节点为该N个计算节点中的计算节点,在该执行内存分配限速时,向第一计算节点迁移第一数据之前,该方法还包括:从该N个计算节点中确定该第一计算节点。
[0011]结合第一方面,在第一方面的某些实现方式中,该第一计算节点是预先设定的;或该第一计算节点是根据该N个计算节点的优先级确定的;或该第一计算节点是根据该N个计算节点自身的剩余内存的大小确定的。
[0012]结合第一方面,在第一方面的某些实现方式中,该N个计算节点的优先级是预先设定的;或该N个计算节点的优先级是根据该N个计算节点运行的业务实例确定的;或该N个计算节点的优先级是根据该N个计算节点的硬件能力确定的。
[0013]第二方面,提供了一种内存管理的方法,该方法包括:该方法应用于第一计算节点,该方法包括:响应于满足第一触发条件,对X个业务实例进行内存分配限速,X≥1且为整数;在执行该内存分配限速时,将该X个业务实例中的Y个业务实例迁徙到第二计算节点,其中,X≥Y≥1,且Y为整数。
[0014]本申请实施例中,当计算节点存在热点时(例如剩余内存不足),对计算节点中的业务实例进行内存分配限速,可以延长第一计算节点被占满的时间,并在内存分配限速期间,将第一计算节点的业务实例迁移至第二计算节点以缓解第一计算节点的压力,由于对业务实例进行了内存分配限速,有了更长的时间进行上述动作,防止第一计算节点的内存爆仓,避免系统卡死,保证了重要业务的运行。此外,由于本申请实施例中没有采取NVM作为swap分区,不会影响业务实例迁移的速度。
[0015]结合第二方面,在第二方面的某些实现方式中,该第一触发条件包括以下中的一项或多项:该第一计算节点的内存的使用率大于或等于第一阈值;该第一计算节点的剩余内存小于或等于第四阈值;该第一计算节点的内存的剩余率小于或等于第五阈值;该X个业务实例的内存申请速度大于或等于第六阈值。
[0016]结合第二方面,在第二方面的某些实现方式中,该对X个业务实例进行内存分配限速,包括:确定该X个业务实例对应的X个内存分配限速策略;根据该X个内存分配限速策略对该X个业务实例进行内存分配限速。
[0017]结合第二方面,在第二方面的某些实现方式中,该X个业务实例对应的X个内存分配限速策略是预先设定的;或该X个业务实例对应的X个内存分配限速策略是根据该X个业务实例的优先级确定的;或该X个业务实例对应的X个内存分配限速策略是根据该X个业务实例使用内存的大小确定的。
[0018]结合第二方面,在第二方面的某些实现方式中,该Y个业务实例是预先设定的;或该Y个业务实例是根据该X个业务实例的优先级确定的;或该Y个业务实例是根据该X个业务
实例使用的内存大小确定的。
[0019]第三方面,提供一种装置,该装置包括:存储模块,用于存储程序;处理模块,用于执行存储模块存储的程序,当存储模块存储的程序被执行时,处理模块用于执行上述各方面提供的方法。
[0020]第四方面,提供一种计算机可读存储介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述各方面提供的方法。
[0021]第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机用于执行上述各方面提供的方法。
[0022]第六方面,提供一种芯片,该芯片包括处理模块与通信接口,该处理模块通过该通信接口读取存储器上存储的指令,用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存管理的方法,其特征在于,所述方法包括:响应于满足第一触发条件,对N个计算节点进行内存分配限速以使所述N个计算节对部属在所述N个计算节点上的业务实例进行内存分配限速,N≥1且为整数,所述N个计算节点与第一内存池关联,所述N个计算节点部署有M个业务实例,M≥1且为整数;在对所述N个计算节点执行内存分配限速时,向第一计算节点迁移第一数据,和/或将所述M个业务实例中的P个业务实例迁移到第二计算节点,其中,M≥P≥1,且P为整数,所述第二计算节点与第二内存池关联,所述第一数据为存储在所述第一内存池的数据。2.根据权利要求1所述的方法,其特征在于,所述第一触发条件包括以下中的一项或多项:所述第一内存池的使用率大于或等于第一阈值;所述第一内存池的冷页数量大于或等于第二阈值;所述第一内存池的热页数量大于或等于第三阈值;所述第一内存池的剩余内存小于或等于第四阈值;所述第一内存池的剩余率小于或等于第五阈值。3.根据权利要求1或2所述的方法,其特征在于,所述对N个计算节点中进行内存分配限速,包括:确定所述N个计算节点对应的N个内存分配限速策略;根据所述N个内存分配限速策略对所述N个计算节点进行内存分配限速。4.根据权利要求3所述的方法,其特征在于,所述N个计算节点对应的N个内存分配限速策略是预先设定的;或所述N个计算节点对应的N个内存分配限速策略是根据所述N个计算节点的优先级确定的;或所述N个计算节点对应的N个内存分配限速策略是根据所述N个计算节点使用内存的大小确定的。5.根据权利要求1至4中任一项所述的方法,所述第一计算节点为所述N个计算节点中的计算节点,在所述执行内存分配限速时,向第一计算节点迁移第一数据之前,所述方法还包括:从所述N个计算节点中确定所述第一计算节点。6.根据权利要求5所述的方法,其特征在于,所述第一计算节点是预先设定的;或所述第一计算节点是根据所述N个计算节点的优先级确定的;或所述第一计算节点是根据所述N个计算节点自身的剩余内存的大小确定的。7.根据权利要求4或6所述的方法,其特征在于,所述N个计算节点的优先级是预先设定的;或所述N个计算节点的优先级是根据所述N个计算节点运...

【专利技术属性】
技术研发人员:林峰
申请(专利权)人:深圳华为云计算技术有限公司
类型:发明
国别省市:

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

1