Canonical hat patches foarsteld om de aktivearring fan sliepmodus te fersnellen

Kanonysk suggerearre op 'e mailinglist fan Linux kernel-ûntwikkelders in set patches mei ymplemintaasje opportunistyske ûnthâld purge ("opportunistic memory reclaim"), wêrtroch jo de tiid dy't it nimt om de sliepmodus yn te gean signifikant kinne ferminderje. Optimalisaasje wurdt berikt troch proaktyf de frijlittingsoperaasje op te roppen fan sekundêre ûnthâldstruktueren dy't gjin unike ynformaasje befetsje en dynamysk kinne wurde hersteld nei't weromkomt út sliepmodus (bygelyks gebieten anonime ûnthâld en ferskate caches foar ûnthâldpagina's). It haadgedachte is dat nei it fuortheljen fan ûnnedige gegevens de grutte fan 'e ûnthâldôfbylding dy't te bewarjen foardat jo yn 'e sliepmodus geane wurdt fermindere, en dus minder tiid is nedich om it te skriuwen en te lêzen fan trage media.

Standert, by it bewarjen fan in ûnthâld dump foar hibernation, de kernel bewarret it ûnthâld lykas is mei alle caches, mar d'r is in standert mooglikheid om frij te meitsjen ûnnedige struktueren troch simulearjen boarnen tekoart betingsten yn de earste faze fan it ynfieren fan hibernation. Dizze funksje kin aktivearre wurde mei de parameter "/sys/power/image_size" en liedt ta in merkbere fermindering fan 'e tiid dy't it nimt om de sliepmodus yn te gean. Canonical suggerearret tafoegjen fan twa oare parameters "/sys/power/mm_reclaim/run" en
"/sys/power/mm_reclaim/release", wêrtroch jo de frijlitting fan ûnnedige struktueren foarôf kinne triggerje, sadat de eigentlike oergong nei sliepmodus sa rap mooglik wurdt útfierd, en weromkomst fan sliepmodus sawat deselde tiid nimt as by it brûken fan in besteande ien yn kernel parameter "/sys/power/image_size".

Testen op in systeem mei 8 GB RAM en 8 GB swap-partition mei 85% fan gebrûk fan ûnthâld toande yn 'e standertynstellingen (image_size=standert) in fermindering fan' e tiid om yn 'e sliepmodus te gean fan 51.56 nei 4.19 sekonden by it inisjearjen fan it proses fan oerstallich ûnthâld wiskje 60 sekonden foar it ynfieren fan sliepmodus. Troch it ferminderjen fan de grutte fan 'e opsleine ûnthâldôfbylding, fermindere de hersteltiid fan 26.34 nei 5 sekonden. Doe't it systeem de standertmodus ynskeakele foar it wiskjen fan oerstallich ûnthâld (image_size=0), waard de tiid om de sliepmodus yn te gean fermindere fan 73.22 nei 5.36 sekonden, en de tiid om werom te gean fan 'e sliepmodus bleau praktysk net feroare (it waard allinich fermindere troch in fraksje fan in sekonde, fan 5.32 oant 5.26 sekonden).

De foarstelde metoade kin yn 'e fraach wêze yn situaasjes wêr't it needsaaklik is om heul fluch oer te skeakeljen nei sliepmodus en it is mooglik om de needsaak foar sa'n oergong fan tefoaren te foarsjen. Bygelyks, yn wolksystemen, firtuele omjouwings mei lege prioriteit (spot omjouwings yn Amazon EC2) kin dynamysk hibernearje en beset ûnthâld frijlitte as boarneferbrûk troch primêre omjouwings nimt ta. As de lêst op primêre omjouwings ôfnimt, komme omjouwings mei lege prioriteit werom út sliepmodus. Under dizze betingsten is it wichtich om de tiid te minimalisearjen dy't nedich is om de sliepmodus yn en út te gean, om de goede kwaliteit fan tsjinst te behâlden. De preemptive skjinmeitsjen faze kin wurde trigger as in bepaald nivo fan de wichtichste lading wurdt berikt, foarôfgeand oan it nivo dat liedt ta befriezing fan lege-prioriteit omjouwings.

Boarne: opennet.ru

Add a comment