Canonical提供补丁程序以加快睡眠模式的激活

规范开发人员发布 通过Linux内核开发邮件列表, 一组补丁 实施 机会内存清理,旨在 大大减少睡眠时间 的系统。

优化 通过主动调用内存结构的释放来实现 不包含唯一信息且可以从睡眠模式返回后可以动态还原的子级(例如,匿名内存区域和多个内存页面缓存)。

关于补丁

主要思想 是删除不必要的数据后 内存映像尺寸减小 保存r进入睡眠模式之前 因此,从慢速介质进行读写所需的时间更少。

默认, 保存内存转储时 对于睡眠模式,内核可以节省内存 所有缓存如何,但 有释放的标准可能性 在过渡到睡眠模式的初始阶段模拟不必要的资源状况的不必要结构。

这项特征 可以使用参数“ / sys / power / image_size”激活 并显着减少了进入睡眠模式的时间。

Canonical建议再添加两个参数,这将允许提前释放不必要的结构,以便尽快完成向睡眠模式的实际转换,并且从睡眠模式返回所花费的时间与应用参数时所花费的时间大致相同。

测试与结果

在具有8 GB RAM的系统上进行测试 和一个8 GB的交换分区 同时使用85%的内存 以默认设置显示(image_size =默认值) 时间的减少 进入睡眠模式 ,的51.56到4.19 在切换到睡眠模式之前60秒开始多余的内存清理过程的秒数。

由于减小了保存的存储映像的大小,恢复时间从26.34减少到5秒。

这是提供接口的首次尝试,该接口允许用户空间任务在休眠系统之前触发机会性内存回收。

提前调用内存(例如,系统空闲时)允许
减小休眠图像的大小,并显着加快休眠和恢复时间。

正常清洁模式时 用于多余的内存(image_size = 0) 已启用 在系统上,该进入睡眠模式的时间 从73.22秒减少到5.36秒 并且从睡眠模式返回的时间没有改变(从5.32秒减少到5.26秒仅减少了几分之一秒)。

此功能的典型用例是使高优先级的云实例通过休眠使其超过低优先级的实例(例如,竞价型实例[1])。

机会内存回收在快速休眠分配大量内存并在大多数时间内大部分时间保持闲置状态(仅使用最少的工作集)的实例中非常有效。

使用

可以在需要快速进入睡眠模式并且可以预先预期需要这种转换的情况下请求所提出的方法。

例如,在云系统中,低优先级虚拟环境(Amazon EC2中的点环境)可以动态进入休眠状态,并随着主要资源消耗的增加释放已占用的内存。

减轻负荷时 在主要设置中, 低优先级环境从睡眠模式返回。 在这些情况下,为了保持足够的服务质量,重要的是要尽量减少进入和退出睡眠模式的时间。

当达到一定水平的主负荷时,可以启动预防性清洁阶段,该阶段要早于导致低优先级环境冻结的水平。

数据来源: https://lkml.org


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。