Linux 5.15改进系统内存调用 可更快释放垂死进程的资源
2023-03-15 22:43:49 时间
为解决 systemd-oomd 或 Android 的 LMKD 等内存问题,Linux 社区开发者一直提议引入更好的系统调用策略,以更快地释放垂死进程的内存。比如今夏早些时候,Phoronix 的 Michael Larabel,就提出了一个名叫“process_reap”的系统调用方案,特点是能够在压力下更快地回收内存资源。
最新消息是,这项工作已经演变成为了“process_mrelease”,且 Linux 5.15 也做好了迎接新版系统调用策略的准备。而使用新系统调用的最大优势,就在于能够更快、更可预测地回收垂死进程的内存资源。
Phoronix 指出,传统 Linux(尤其是桌面 Linux)无法很好地应对内存压力,但近年来 systemd-oomd、各种内核创新、以及现在的 process_mrelease,都已经取得了稳步的发展。
在该补丁合并到 Linux 5.15 之后,Andrew Morton 继续深入解释了 process_mrelease 的系统调用方式:
- 对于此类系统组件来说,能够快速高效地释放内存资源,是非常重要的一点。
- 遗憾的是,进程在收到 SIGKILL 后释放内存所需的时间、可能因进程的状态(不间断睡眠)、正在运行的核心大小、以及 OPP 级别而异。
- 若能够找到以更可预测的方式来释放目标进程资源的机制,也将能够提升系统控制其内存压力的能力。
- 通过引入 process_mrelease 系统调用方案,系统就能够从调用方(caller)的上下文中释放垂死进程的内存。
基于此,内存能够以更可控的方式来释放,具有 CPU 亲和性和调用优先级,释放内存的工作量也会由调用方来承担,不过相关操作只允许针对垂死进程来执行。
相关文章
- 浏览器发送URL完整流程
- Android 12L让Chrome在大屏设备上使用率提高18倍
- 测试流程规范
- 苹果发布iOS 15.4和iPadOS 15.4 Beta 2:新增Tap to Pay等功能
- 路由器原理
- 大厂高手出品:这2个苹果控件你肯定分不清!
- 测试计划
- Android 12 疑难崩溃解决之路
- 已确定!iOS 14.8.1 已关闭,iOS 15.1 还剩6天
- IP地址基础知识
- 苹果 iOS 15.4 Beta 2 发布,修复 iPhone 关闭“Siri 与听写”分析后仍会上传录音的 Bug
- docker命令
- 软件测试工程师知识架构
- Android 13 新功能曝光:CPU 加速以提升游戏加载速度
- GET 与 POST
- 工信部回复网友:将在3-5年内逐步取消来电显示费用
- HTTP/1.1 的性能
- 升级iOS15.3有什么优缺点?
- HTTP 优缺点
- 手机严重卡顿,关机和重启到底哪个更好?这下终于知晓答案了