(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211204785.5
(22)申请日 2022.09.29
(71)申请人 阿里巴巴 (中国) 有限公司
地址 311121 浙江省杭州市余杭区五常街
道文一西路969号3幢5层5 54室
(72)发明人 田双坤 李鹏 苏雅诗
(74)专利代理 机构 北京博思佳知识产权代理有
限公司 1 1415
专利代理师 魏文君
(51)Int.Cl.
G06F 9/50(2006.01)
(54)发明名称
一种内存分配方法、 装置及设备
(57)摘要
本说明书实施例提供了一种内存分配方法、
装置、 设备。 可以基于当前设备中运行的应用程
序的实例的重要程度, 其中, 在确定实例重要程
度时, 可以基于实例的内存访问活跃度、 实例所
属应用程序的优 先级、 实例所属应用程序的业务
量中的一种或多种确定。 然后可以基于该重要程
度在第一内存存储器和第二内存存储器之间对
应用程序的实例进行迁移, 使得重要程度高的实
例优先被存储在数据读写速度较快的第一内存
存储器中。 通过这种方式可以提高内存资源的利
用率。
权利要求书3页 说明书15页 附图5页
CN 115421924 A
2022.12.02
CN 115421924 A
1.一种内存分配方法, 适用于目标设备, 所述目标设备包括第一内存存储器以及第二
内存存储器, 所述第一内存存储器的数据读写速度大于所述第二内存存储器的数据读写速
度, 所述方法包括:
获取当前运行在所述目标设备的一个或多个 应用程序的实例;
确定应用程序的实例的重要程度, 并基于所述重要程度在所述第 一内存存储器和所述
第二内存存储器之 间对应用程序的实例进 行迁移, 以使得所述第一内存存储器中优先存储
所述重要程度高的实例, 所述重要程度正相关于以下一项或多项信息: 实例的内存访问活
跃度、 实例所属应用程序的优先级、 实例所属应用程序的业 务量。
2.根据权利要求1所述的方法, 所述确定应用程序的实例的重要程度, 并基于所述重要
程度在第一内存 存储器和所述第二内存 存储器之间对应用程序的实例进行迁移, 包括:
针对运行在所述目标设备的所有实例, 分别确定每个实例的重要程度, 其中, 每个实例
的重要程度正相关于以下一项或多项信息: 实例的内存访问活跃度、 实例所属应用程序的
优先级以及实例所属应用程序的业 务量;
基于每个实例的重要程度在第一内存存储器或第二内存存储器中为每个实例分配目
标存储空间, 其中, 第一内存 存储器中的存 储空间优先分配给重要程度高的实例;
基于每个实例当前占用的存储空间和所述目标存储空间, 在所述第 一内存存储器和所
述第二内存 存储器之间对至少一个实例进行迁移。
3.根据权利要求1所述的方法, 所述确定应用程序的实例的重要程度, 并基于所述重要
程度在所述第一内存存储器和所述第二内存存储器之间对应用程序的实例进行迁移, 包
括:
针对所述目标设备中当前运行的应用程序, 按照优先级从高到低的顺序依次对每个应
用程序执 行以下操作:
针对当前应用程序, 确定该当前应用程序当前业 务处理所需的实例的数量;
在当前业务处理所需的实例的数量小于所述第一内存存储器中存储的该当前应用程
序的实例的数量时, 确定所述第一内存存储器中存储的该当前应用程序的各实例的重要程
度, 基于所述重要程度从各实例中确定待迁移实例, 并迁移至第二内存 存储器;
在当前业务处理所需的实例的数量大于所述第一内存存储器中存储的该当前应用程
序的实例的数量时, 确定所述第二内存存储器中存储的该当前应用程序的各实例的重要程
度, 基于所述重要程度从各实例中确定待迁移实例, 并迁移至第一内存存储器; 其中, 所述
重要程度正相关于实例的内存访问活跃度。
4.根据权利要求3所述的方法, 基于所述重要程度从各实例中确定待迁移实例, 并迁移
至所述第一内存 存储器之前, 还 包括:
确定所述第一内存存储器的当前可用存储空间是否小于所确定的待迁移实例占用的
存储空间;
如果是, 将所述第 一内存存储器中存储的目标应用程序的一个或多个实例迁出至第 二
内存存储器, 以在所述第一内存储存储器腾出存储空间, 其中, 所述目标应用程序的优先级
低于所述当前应用程序的优先级, 所述 一个或多个实例基于所述重要程度确定 。
5.根据权利要求1 ‑4任一项所述的方法, 所述目标设备包括多个非统一内存访问NUMA
节点, 所述第一内存存储器包括多个, 多个所述第一内存存储器分布在所述多个非统一内权 利 要 求 书 1/3 页
2
CN 115421924 A
2存访问NUMA节点上, 每个非统一内存访问NUMA节点包括至少一个所述第一内存存储器, 所
述基于所述重要程度在第一内存存储器和所述第二内存存储器之间对应用程序的实例进
行迁移, 包括:
在基于所述重要程度确定将应用程序的实例从第二内存存储器迁移到第一内存储存
储器时, 将该应用程序的实例从所述第二内存存储器迁移到同一个非统一内存访问NUMA节
点上的所述第一内存 存储器中。
6.根据权利要求1 ‑4任一项所述的方法, 所述目标设备包括多个非统一内存访问NUMA
节点, 所述第一内存存储器包括多个, 多个所述第一内存存储器分布在所述多个非统一内
存访问NUMA节点上, 每个非统一内存访问NUMA节点包括至少一个所述第一内存存储器, 所
述重要程度负相关于实例当前占用的内存在非统一内存访问NUMA 节点上的分散程度。
7.根据权利要求1 ‑4任一项所述的方法, 实例的内存访 问活跃度基于实例的冷内存的
大小与实例占用的总内存大小的比例确定, 其中, 所述冷内存为预设时间内被命中次数小
于设定次数的内存页。
8.根据权利要求1 ‑4任一项所述的方法, 所述基于所述重要程度在所述第一内存存储
器和所述第二内存 存储器之间对应用程序的实例进行迁移, 包括:
针对基于所述重要程度确定的待迁移实例对应的内存页, 从所述内存页中筛选出使用
频率高于设定频率的目标内存页, 并在所述第一内存存储器和所述第二内存存储器之 间迁
移所述目标内存页中存 储的数据。
9.根据权利要求1 ‑4任一项所述的方法, 所述在基于所述重要程度在所述第一内存存
储器和所述第二内存 存储器之间对应用程序的实例进行迁移之前, 所述方法还 包括:
针对基于所述重要程度确定的待迁移实例对应的进程, 将所述进程的状态切换至冻结
状态;
在所述第一内存存储器和所述第二内存存储器之间迁移对应用程序的实例进行迁移
之后, 所述方法还 包括:
将所述进程的状态从冻结状态切换至唤醒状态。
10.根据权利要求1 ‑4任一项所述的方法, 所述基于所述重要程度在所述第 一内存存储
器和所述第二内存 存储器之间对应用程序的实例进行迁移, 包括:
针对基于所述重要程度确定的待迁移实例, 从预先设置的线程池中获取多个线程, 利
用所述多个线程并行地对所述待迁移实例进行迁移。
11.根据权利要求1 ‑4任一项所述的方法, 所述第一内存存储器为动态随机存储器
DRAM, 所述第二内存 存储器为非易失存 储器NVM。
12.一种内存分配装置, 适用于目标设备, 所述目标设备包括第 一内存存储器以及第 二
内存存储器, 所述第一内存存储器的数据读写速度大于所述第二内存存储器的数据读写速
度, 所述装置包括:
获取模块, 用于获取当前运行在所述目标设备的一个或多个 应用程序的实例;
迁移模块, 用于确定应用程序的实例的重要程度, 并基于所述重要程度在所述第一内
存存储器和所述第二内存存储器之 间对应用程序的实例进 行迁移, 以使得所述第一内存存
储器中优先存储所述重要程度高的实例, 所述重要程度正相关于以下一项或多项信息: 实
例的内存访问活跃度、 实例所属应用程序的优先级、 实例所属应用程序的业 务量。权 利 要 求 书 2/3 页
3
CN 115421924 A
3
专利 一种内存分配方法、装置及设备
文档预览
中文文档
24 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:07:41上传分享