[发明专利]容器内存的优化方法及装置、存储介质、电子装置有效
| 申请号: | 202310448670.9 | 申请日: | 2023-04-24 |
| 公开(公告)号: | CN116185642B | 公开(公告)日: | 2023-07-18 |
| 发明(设计)人: | 王思远 | 申请(专利权)人: | 安徽海马云科技股份有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/30;G06F9/455 |
| 代理公司: | 北京云嘉湃富知识产权代理有限公司 11678 | 代理人: | 刘新桐 |
| 地址: | 230031 安徽省合肥市高新区望江*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 容器 内存 优化 方法 装置 存储 介质 电子 | ||
本发明提供了一种容器内存的优化方法及装置、存储介质、电子装置,所述方法包括:监测操作系统中目标容器的内存状态,其中,所述操作系统是所述目标容器的宿主系统;根据所述内存状态触发生成所述目标容器的内存释放指令;响应所述内存释放指令,释放所述目标容器的占用内存。本方案解决了相关技术在宿主系统中优化内存时容器内存隔离的技术问题,提高了内存管理的灵活性和宿主系统的稳定性。
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种容器内存的优化方法及装置、存储介质、电子装置。
背景技术
相关技术中,随着云游戏、云手机等云应用领域的发展,在Android宿主系统中使用容器化管理实现更高的资源使用效率已经逐渐成为新的技术方向。但Android系统本身并非为容器化设计,其中许多系统服务并未对容器化方案做支持,导致在多容器环境下运行出现错误。Android系统的低内存管理服务(low memory killer daemon,lmkd)就是其中之一。
相关技术中的lmkd不支持容器隔离。宿主系统(如Android系统)本身使用lmkd系统服务进行低内存状态下的优化工作,主要包括按照一定规则删除进程释放可用内存。lmkd在设计时仅针对整个宿主Android系统进行低内存检测与优化,无法适应多容器系统环境。lmkd删除进程的算法功能单一,lmkd进行低内存检测并进行优化时,会按照优先级遍历ActivityManagerService(活动管理器服务)中维护的进程列表,优先删除(终止)低优先级的进程来释放内存,这种方式相对不灵活。实际的使用环境下,经常需要对某些应用进程或系统进程进行保活或适当调整优先级。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种容器内存的优化方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种容器内存的优化方法,包括:监测操作系统中目标容器的内存状态,其中,所述操作系统是所述目标容器的宿主系统;根据所述内存状态触发生成所述目标容器的内存释放指令;响应所述内存释放指令,释放所述目标容器的占用内存。
可选的,监测操作系统中目标容器的内存状态包括:查找所述目标容器所在的目标控制组;调用所述目标控制组的vmpressure函数监听所述目标控制组中的vmpressure事件,其中,所述vmpressure事件用于指示所述目标控制组的内存回收状态。
可选的,监测操作系统中目标容器的内存状态包括:查找所述目标容器所在的目标控制组;调用所述目标控制组的压力失速信息psi函数监听所述目标控制组中的psi事件,其中,所述psi事件用于指示所述目标控制组的内存申请状态。
可选的,查找所述目标容器所在的目标控制组包括:读取所述目标容器的命名空间;查找与所述命名空间匹配的目标控制组。
可选的,释放所述目标容器的占用内存包括:判断低内存管理lmkd进程是否运行在所述目标容器的容器系统中;若lmkd进程运行在所述容器系统中,遍历所述容器系统的proc目录中的所有进程,对每个进程执行以下步骤,直到proc目录中的所有进程遍历完成:判断当前的第一进程的优先级是否低于所述lmkd进程的释放优先级阈值;若第一进程的优先级低于释放优先级阈值,在所述容器系统中删除所述第一进程。
可选的,释放所述目标容器的占用内存包括:判断lmkd进程是否运行在所述目标容器的容器系统中;若lmkd进程运行在所述容器系统中,遍历所述容器系统中的所有进程,对每个进程执行以下步骤,直到所有进程遍历完成:判断当前的第二进程是否在所述目标容器的偏好应用集合中;若待删除的第二进程在所述目标容器的偏好应用表中,从所述偏好应用表的配置文件中读取所述第二进程的存活优先级;判断所述存活优先级是否低于所述lmkd进程的释放优先级阈值;若所述存活优先级低于所述释放优先级阈值,删除所述第二进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽海马云科技股份有限公司,未经安徽海马云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310448670.9/2.html,转载请声明来源钻瓜专利网。





