Linux 5.15改进系统内存调用 可更快释放垂死进程的资源

系统
Linux 社区开发者一直提议引入更好的系统调用策略,以更快地释放垂死进程的内存。比如今夏早些时候,Phoronix 的 Michael Larabel,就提出了一个名叫“process_reap”的系统调用方案,特点是能够在压力下更快地回收内存资源。

[[422421]]

为解决 systemd-oomd 或 Android 的 LMKD 等内存问题,Linux 社区开发者一直提议引入更好的系统调用策略,以更快地释放垂死进程的内存。比如今夏早些时候,Phoronix 的 Michael Larabel,就提出了一个名叫“process_reap”的系统调用方案,特点是能够在压力下更快地回收内存资源。 

(来自:Kernel.org) 

最新消息是,这项工作已经演变成为了“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 亲和性和调用优先级,释放内存的工作量也会由调用方来承担,不过相关操作只允许针对垂死进程来执行。

 

责任编辑:未丽燕 来源: cnBeta.COM
相关推荐

2012-09-13 15:37:21

linux内存

2010-01-21 11:25:44

linux多线程线程资源

2022-05-27 11:59:22

Linux内存CPU

2024-06-12 11:26:04

2021-03-17 21:34:44

Linux内存管理

2021-02-20 07:20:10

谷歌Chrome 浏览器

2020-05-26 09:09:43

Linux 系统调用操作系统

2010-02-06 10:54:38

Android进程

2023-10-18 13:31:00

Linux内存

2013-10-12 15:07:17

UbuntuLinuxcache

2010-03-05 13:59:16

Linux服务器内存

2010-01-12 11:52:40

2021-09-05 15:05:54

Linux 5.15NTFS驱动程序

2018-05-18 08:43:27

Linux内存空间

2013-06-04 14:21:20

Vector内存释放

2012-07-26 09:10:31

PHP

2017-06-07 14:34:48

数据DB修改

2017-01-18 21:57:14

2020-02-04 13:50:09

Linux进程内存使用

2018-05-31 11:58:06

Linux进程Early OOM
点赞
收藏

51CTO技术栈公众号