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. 權利:您可以隨時限制,恢復和刪除您的信息。