Microsoft Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π² WSL2 (Windows Subsystem for Linux) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ памяти систСмС

Компания Microsoft объявила ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ возмоТностСй прослойки WSL2 (Windows Subsystem for Linux), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ запуск исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Linux Π² Windows. Π’ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… сборках Windows Insider (build 19013) Π² прослойкС WSL2 появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° возвращСния систСмС памяти (Memory Reclamation), освобоТдаСмой процСссами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ядра Linux.

Π Π°Π½Π΅Π΅ Π² случаС роста потрСблСния памяти прилоТСниями ΠΈΠ»ΠΈ ядром, ΠΏΠ°ΠΌΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»ΡΠ»Π°ΡΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС WSL2, Π½ΠΎ послС этого ΠΎΡΡ‚Π°Π²Π°Π»Π°ΡΡŒ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½ΠΎΠΉ ΠΈ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ систСмС, Π΄Π°ΠΆΠ΅ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ рСсурсоёмкого процСсса ΠΈ отсутствия дальнСйшСй потрСбности Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ памяти. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Memory Reclamation позволяСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Ρ‘Π½Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ОБ ΠΈ автоматичСски ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ΠŸΡ€ΠΈ этом возвращаСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ, освобоТдаСмая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ процСссами, Π½ΠΎ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠ°ΡΡΡ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² ядрС Linux. НапримСр, ΠΏΡ€ΠΈ высокой дисковой активности увСличиваСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ страничного кэша, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ осСдаСт содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π€Π‘. ПослС выполнСния «echo 1 > /proc/sys/vm/drop_caches» кэш ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ОБ.

РСализация Memory Reclamation основываСтся Π½Π°
ΠΏΠ°Ρ‚Ρ‡Π΅, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Intel для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² основноС ядро Linux с Ρ†Π΅Π»ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ возмоТностСй Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° virtio-balloon ΠΈ для систСмы управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ рассчитан Π½Π° использованиС Π² Π»ΡŽΠ±Ρ‹Ρ… гостСвых систСмах для возвращСния Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… страниц памяти хост-систСмС ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π°ΠΌΠΈ. Π’ случаС WSL2 ΠΏΠ°Ρ‚Ρ‡ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ для возвращСния памяти Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρƒ Hyper-V.

Напомним, Ρ‡Ρ‚ΠΎ вторая рСдакция WSL отличаСтся поставкой ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ ядра Linux вмСсто эмулятора, Π½Π° Π»Π΅Ρ‚Ρƒ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Linux Π² систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Windows. ΠŸΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π² WSL2 ядро Linux основано Π½Π° выпускС 4.19, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Windows ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΡƒΠΆΠ΅ примСняСмой Π² Azure. ОбновлСния для ядра Linux Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Windows Update ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² инфраструктурС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Microsoft. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹Π΅ Π² ядрС спСцифичныС для WSL2 ΠΏΠ°Ρ‚Ρ‡ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для сокращСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запуска ядра, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ потрСблСния памяти ΠΈ оставлСния Π² ядрС минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ подсистСм.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

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