Společnost Canonical navrhla opravy pro urychlení aktivace režimu spánku

Kanonický navrhl na mailing listu vývojářů jádra Linux sada záplat s implementací oportunistické čištění paměti („oportunistické uvolnění paměti“), což výrazně zkracuje dobu potřebnou k přechodu do režimu spánku. Této optimalizace je dosaženo proaktivním voláním operace uvolnění na sekundárních paměťových strukturách, které neobsahují jedinečné informace a lze je dynamicky uvolnit po návratu z režimu spánku (například oblasti anonymní paměť a různé mezipaměti stránek paměti). Základní myšlenkou je, že odstranění nepotřebných dat zmenší velikost obrazu paměti, který se má uložit před přechodem do režimu spánku, a tím zkrátí čas potřebný k jeho zápisu do pomalého úložiště a čtení z něj.

Ve výchozím nastavení jádro při ukládání výpisu paměti pro režim spánku zachovává paměť tak, jak je, včetně všech mezipamětí. Existuje však vestavěná možnost pro uvolnění přebytečných struktur simulací podmínek nedostatku zdrojů během počáteční fáze přechodu do režimu spánku. Tuto možnost lze povolit pomocí parametru „/sys/power/image_size“ a výrazně zkracuje dobu potřebnou k přechodu do režimu spánku. Canonical doporučuje přidat další dva parametry: „/sys/power/mm_reclaim/run“ a
„/sys/power/mm_reclaim/release“, což umožní předem volat uvolnění nepotřebných struktur, aby samotný přechod do režimu spánku proběhl co nejrychleji a návrat z režimu spánku trval přibližně stejně dlouho jako při použití již existujícího parametru jádra „/sys/power/image_size“.

Testování na systému s 8 GB RAM a 8GB swapovacím oddílem s 85% využitím paměti ukázalo, že s výchozím nastavením (image_size=default) se doba přechodu do režimu spánku snížila z 51.56 na 4.19 sekundy při zahájení procesu čištění paměti 60 sekund před přechodem do režimu spánku. Zmenšením velikosti uloženého obrazu paměti se doba obnovy snížila z 26.34 na 5 sekund. S povoleným výchozím režimem čištění paměti (image_size=0) se doba přechodu do režimu spánku snížila ze 73.22 na 5.36 sekundy a doba návratu z režimu spánku zůstala prakticky nezměněna (snížila se pouze o zlomek sekundy, z 5.32 na 5.26 sekundy).

Navrhovaná metoda může být užitečná v situacích, kdy je nutné rychle přepnout do režimu spánku a je možné předem předvídat potřebu takového přechodu. Například v cloudových systémech, virtuálních prostředích s nízkou prioritou (spot-environment V Amazon EC2 lze prostředí s nízkou prioritou dynamicky přepnout do režimu spánku a získat zpět svou paměť, jakmile se zvýší spotřeba zdrojů primárními prostředími. Když se zátěž primárních prostředí sníží, prostředí s nízkou prioritou se z režimu spánku obnoví. Za těchto podmínek je minimalizace doby potřebné k přechodu do a z režimu spánku nezbytná pro udržení odpovídající kvality služeb. Fáze proaktivního čištění může být spuštěna, když primární zátěž dosáhne určité úrovně, která je nižší než úroveň, jež by způsobila zamrznutí prostředí s nízkou prioritou.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster