说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210655016.0 (22)申请日 2022.06.10 (71)申请人 维沃移动通信有限公司 地址 523863 广东省东莞 市长安镇维沃路1 号 (72)发明人 刘磊 荣乾锋  (74)专利代理 机构 北京国昊天诚知识产权代理 有限公司 1 1315 专利代理师 许振新 (51)Int.Cl. G06F 9/50(2006.01) (54)发明名称 基于ION分配器的内存分配方法、 装置和电 子设备 (57)摘要 本申请公开了一种基于ION分配器的内存分 配方法、 装置、 电子设备和可读存储介质, 属于内 存管理技术领域。 该方法包括: 在终端设备启动 目标应用的情况下, 在所述终端设备的用户空间 确定所述目标应用所需内存; 在所述用户空间, 向所述终端设备的内核空间发送内存扩充请求, 所述内存扩充请求中包括所述目标应用所需内 存; 在所述内核空间, 基于所述内存扩充请求从 所述系统内存扩充所述目标应用所需内存至所 述终端设备ION分配器的内存池中, 并向所述用 户空间返回扩充完成命令; 在所述用户空间, 在 接收到所述扩充完成命令后 向所述内存池申请 内存以用于所述目标应用。 权利要求书3页 说明书14页 附图5页 CN 114996014 A 2022.09.02 CN 114996014 A 1.一种基于ION分配 器的内存分配方法, 其特 征在于, 包括: 在终端设备启动目标应用的情况下, 在所述终端设备的用户空间确定所述目标应用所 需内存; 在所述用户空间, 向所述终端设备的内核空间发送内存扩充请求, 所述内存扩充请求 中包括所述目标应用所需 内存; 在所述内核空间, 基于所述内存扩充请求从所述系统内存扩充所述目标应用所需内存 至所述终端设备ION分配 器的内存 池中, 并向所述用户空间返回扩充完成命令; 在所述用户空间, 在接收到所述扩充完成命令后向所述内存池申请内存以用于所述目 标应用。 2.根据权利要求1所述的方法, 其特征在于, 在所述终端设备的用户空间确定所述目标 应用所需 内存, 包括: 在所述目标应用为预设类型的应用的情况下, 在所述终端设备的用户空间确定所述目 标应用所需 内存。 3.根据权利要求1所述的方法, 其特征在于, 在所述内核空间, 基于所述内存扩充请求 从所述系统内存 扩充所述目标应用所需 内存至所述终端设备ION分配 器的内存 池中, 包括: 响应所述内存 扩充请求, 唤醒 所述内核空间的目标线程; 将所述目标线程绑定 至所述终端设备的CPU大核; 通过所述CPU大核从所述系统内存申请扩充内存, 以扩充所述目标应用所需内存至所 述内存池中。 4.根据权利要求1所述的方法, 其特 征在于, 还 包括: 在所述目标应用启动的情况下, 将扩充至所述内存池中的内存配置为所述目标应用的 专属内存, 所述专属内存为 不可回收内存。 5.根据权利要求1所述的方法, 其特 征在于, 还 包括: 在所述ION分配器存在内存释放时, 监测所述终端设备的CPU卡顿时间和所述系统内存 的内存申请卡顿时间; 在所述系统内存的内存申请卡顿时间大于第一阈值的情况下, 直接释放所述ION分配 器的内存 池中的内存; 在所述系统内存的内存申请卡顿时间小于或等于第 一阈值且所述CPU卡顿时间大于第 二阈值的情况 下, 直接释放所述 ION分配器的内存 池中的内存; 在所述系统内存的内存申请卡顿时间小于或等于第 一阈值且所述CPU卡顿时间小于或 等于第二阈值的情况 下, 延时释放所述 ION分配器的内存 池中的内存。 6.根据权利要求1所述的方法, 其特 征在于, 还 包括: 监测所述 ION分配器的内存 池中的内存规格; 在所述内存低于预设阈值的情况下, 根据所述ION分配器的内存池中内存规格, 按照预 设顺序申请所述系统内存向所述内存 池填充内存; 其中, 所述内存规格包括order1、 order2、 order4及order9, 所述order4和order9配置 放弃内存 申请标识, 所述放弃内存 申请标识用于告知所述ION分配器在未申请到请求规格 内存的情况 下, 放弃内存申请。 7.根据权利要求1所述的方法, 其特征在于, 所述在接收到所述扩充完成命令后向所述权 利 要 求 书 1/3 页 2 CN 114996014 A 2内存池申请内存以用于所述目标应用之后, 还 包括: 确定向所述内存池申请用于所述目标应用的内存类型和内存规格, 其中, 所述内存池 的内存类型包括缓冲内存和非缓冲内存; 在申请的所述内存类型为缓冲内存且所述申请的内存超出所述内存池中缓冲内存的 情况下, 从所述内存 池中的非缓冲内存迁移目标非缓冲内存至所述缓冲内存中; 在申请的所述内存类型为非缓冲内存且所述申请的内存超出所述内存池中非缓冲内 存的情况 下, 从所述内存 池中的缓冲内存迁移目标缓冲内存至所述非缓冲内存中。 8.根据权利要求1所述的方法, 其特 征在于, 还 包括: 在所述终端设备开机时, 读取所述ION分配器的内存配置文件, 所述内存配置文件用于 在所述ION分配器的内存 池中配置第一预留 内存; 基于所述内存配置文件, 从所述终端设备的系统内存填充所述第 一预留内存至所述内 存池中, 其中, 所述第一预留 内存基于所述终端设备的可用内存确定 。 9.根据权利要求8所述的方法, 其特 征在于, 还 包括: 监测所述终端设备的第一可用内存; 基于所述第一可用内存, 更新所述内存配置文件。 10.根据权利要求9所述的方法, 其特征在于, 所述监测所述终端设备的第 一可用内存, 包括: 以预设时间 间隔统计所述终端设备在开机后预设时长内的可用内存; 计算所述预定时长内的平均可用内存, 得到所述终端设备的第一可用内存; 所述基于所述第一可用内存, 更新所述内存配置文件, 包括: 获取所述内存配置文件中所述预留 内存对应的所述终端设备的历史可用内存; 在所述第一可用内存与所述历史可用内存的变化值大于预设阈值的情况下, 基于所述 第一可用内存更新所述内存配置文件中的第一预留 内存。 11.根据权利要求8所述的方法, 其特 征在于, 还 包括: 接收服务器发送的配置命令, 所述配置命令携带配置的第二预留 内存; 基于所述配置的第二预留 内存, 更新所述配置文件中的第一预留 内存。 12.根据权利要求8所述的方法, 其特征在于, 所述从所述终端设备的系统内存填充所 述第一预留 内存至所述内存 池中之后, 还 包括: 监测所述系统内存的内存压力; 基于所述系统内存的内存压力等级, 将所述内存池中目标预留内存回收至所述系统内 存; 在所述系统内存的内存压力低于预设阈值的情况下, 将回收至所述系统内存的预留内 存填充至所述内存 池。 13.一种基于ION分配 器的内存分配装置, 其特 征在于, 包括: 确定模块, 用于在终端设备启动目标应用的情况下, 在所述终端设备的用户空间确定 所述目标应用所需 内存; 发送模块, 用于在所述用户空间, 向所述终端设备的内核空间发送内存扩充请求, 所述 内存扩充请求中包括所述目标应用所需 内存; 扩充模块, 用于在所述内核空间, 基于所述内存扩充请求从所述系统内存扩充所述目权 利 要 求 书 2/3 页 3 CN 114996014 A 3

.PDF文档 专利 基于ION分配器的内存分配方法、装置和电子设备

文档预览
中文文档 23 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于ION分配器的内存分配方法、装置和电子设备 第 1 页 专利 基于ION分配器的内存分配方法、装置和电子设备 第 2 页 专利 基于ION分配器的内存分配方法、装置和电子设备 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:31:04上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。