Компания 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 Π“Π‘ ΠžΠ—Π£ ΠΈ 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ