Компанията Canonical предложи пачове за ускоряване на активацията на спящия режим

Компания Canonical предложи в списъка за разпространение на разработчиците на ядрото на Linux набор патчи с реализация опортюнистично премахване на памет («opportunistic memory reclaim»), позволяващо значително да се намали времето за преминаване в спящ режим. Оптимизацията се постига чрез предварително извикване на операцията за освобождаване на вторични структури на памета, които не съдържат уникална информация и могат да бъдат динамично възстановени след завръщане от спящ режим (например области на анонимна памет и различни кешове на страниците на паметта). Основната идея е, че след премахването на излишни данни, размерът на образа на паметта, който трябва да се запази преди преминаването в спящ режим, намалява и, следователно, е необходимо по-малко време за запис и четене от бавен носител.

По подразбиране, при запазване на дампа на паметта за спящ режим, ядрото запазва паметта така, както е, с всички кешове, но е предвидена стандартна възможност за освобождаване на излишни структури чрез симулация на условия на недостиг на ресурси в началната фаза на преминаване в спящ режим. Тази възможност може да бъде активирана с помощта на параметъра «/sys/power/image_size» и води до значително намаляване на времето за преминаване в спящ режим. Canonical предлага добавяне на още два параметъра «/sys/power/mm_reclaim/run» и
«/sys/power/mm_reclaim/release», които ще позволят предварително извикване на освобождаване на излишни структури, за да се извърши преминаването в спящ режим възможно най-бързо и връщането от спящ режим да отнеме приблизително същото време, каквото е при вече съществуващия в ядро параметър «/sys/power/image_size».

Тестовете на система с 8 ГБ RAM и 8 ГБ раздел за дъмп при използване на 85% от паметта показаха, че при настройки по подразбиране (image_size=default) времето за преминаване в спящ режим е намалено от 51.56 до 4.19 секунди при иницииране на процеса за почистване на излишната памет 60 секунди преди преминаване в спящ режим. Поради намаляването на размера на запазения образ на паметта, времето за възстановяване намалява от 26.34 до 5 секунди. При включване на стандартния режим за почистване на излишната памет в системата (image_size=0) времето за преминаване в спящ режим е намалено от 73.22 до 5.36 секунди, а времето за връщане от спящ режим практически не е променено (намалено е само с части от секунди, от 5.32 до 5.26 сек.)

Предложената методика може да бъде полезна в ситуации, когато е необходимо много бързо преминаване в режим на заспиване и има възможност предварително да се предвиди необходимостта от такова преминаване. Например, в облачните системи, нископриоритетните виртуални среди (spot-среда ) в Amazon EC2 могат динамично да бъдат преместени в режим на заспиване и да освободят заета памет при нарастваща консумация на ресурси от основните среди. Когато натоварването на основните среди намалее, нископриоритетните среди се връщат от режим на заспиване. При тези условия е важно да се намали до минимум времето за преминаване в режим на заспиване и излизане от него, за да се поддържа необходимото качество на услугата. Стартирането на фазата на предварително почистване може да се извърши, когато се достигне определено ниво на основно натоварване, предшестващо нивото, което води до замразяване на нископриоритетните среди.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster