Microsoft เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ WSL2 (เบฅเบฐเบšเบปเบšเบเปˆเบญเบ Windows เบชเปเบฒเบฅเบฑเบš Linux) เบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบเบฑเบšเบฅเบฐเบšเบปเบš

เบšเปเบฅเบดเบชเบฑเบ” Microsoft เบ›เบฐโ€‹เบเบฒเบ” เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบŠเบฑเป‰เบ™ WSL2 (เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡ Windows เบชเปเบฒเบฅเบฑเบš Linux), เป€เบŠเบดเปˆเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเป„เบŸเบฅเปŒ Linux เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™ Windows. เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบเปเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เบ—เบปเบ”โ€‹เบฅเบญเบ‡โ€‹ Windows Insider (build 19013) เปƒเบ™เบŠเบฑเป‰เบ™ WSL2, เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบเบฑเบšเบ„เบทเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบเบฑเบšเบฅเบฐเบšเบปเบš (Memory Reclamation) เบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Linux kernel เป„เบ”เป‰เบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™.

เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป‚เบ”เบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบซเบผเบท kernel, เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰ WSL2 virtual machine, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบเบฑเบ‡เบ„เบปเบ‡ pinned เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบฅเบฐเบšเบปเบš, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป„เบ”เป‰เบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เปเบฅเบฐเบกเบต. เบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™. เบเบปเบ™เป„เบเบเบฒเบ™ Reclamation เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบฑเบšเบ„เบทเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบšเปเปˆเป€เบชเบเบ„เปˆเบฒเป„เบ›เบซเบฒ OS เบ•เบปเป‰เบ™เบ•เปเปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ virtual machine เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบ™เบตเป‰เบˆเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบเป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰, เปเบ•เปˆเบเบฑเบ‡เป€เบ›เบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ Linux kernel. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ”เป‰เบงเบเบเบดเบ”เบˆเบฐเบเปเบฒเบ‚เบญเบ‡เปเบœเปˆเบ™เบชเบนเบ‡, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡ cache เบ‚เบญเบ‡เบซเบ™เป‰เบฒเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เป€เบŠเบดเปˆเบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ–เบทเบเบเบฒเบเป„เบงเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ "echo 1 > /proc/sys/vm/drop_caches" cache เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบถเบšเบฅเป‰เบฒเบ‡เปเบฅเบฐเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบชเบฒเบกเบฒเบ”เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆ OS เบ•เบปเป‰เบ™เบ•เป.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Memory Reclamation เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆ
เป€เบžเบตเป‰เบก, เบชเบฐเป€เบซเบ™เบตเป‚เบ”เบเบงเบดเบชเบฐเบงเบฐเบเบญเบ™ Intel เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เปเบเปˆเบ™ Linux เบ•เบปเป‰เบ™เบ•เปเป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เป„เบ”เป€เบงเบต virtio-balloon เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ. patch เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเปเบ‚เบเป€เบžเบทเปˆเบญเบเบฑเบšเบ„เบทเบ™เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เบเบฑเบšเบฅเบฐเบšเบปเบšเป‚เบฎเบ”เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบš hypervisors เบ•เปˆเบฒเบ‡เป†. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ WSL2, patch เป„เบ”เป‰เบ–เบทเบเบ”เบฑเบ”เปเบ›เบ‡เป€เบžเบทเปˆเบญเบเบฑเบšเบ„เบทเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเปƒเบซเป‰เบเบฑเบš Hyper-V hypervisor.

เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบชเบฐเบšเบฑเบšเบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡ WSL เปเบ•เบเบ•เปˆเบฒเบ‡ เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡ kernel Linux เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบšเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ emulator เบ—เบตเปˆเปเบ›เบเบฒเบ™เป‚เบ—เบซเบฒเบฅเบฐเบšเบปเบš Linux เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš Windows เปƒเบ™เบ—เบฑเบ™เบ—เบต. เบˆเบฑเบ”เบชเบปเปˆเบ‡เปƒเบ™ WSL2 Linux kernel เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ›เปˆเบญเบ 4.19, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Windows เป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡ virtual เปเบฅเป‰เบงเปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™ Azure. เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบ•เปเปˆเบเบฑเบš Linux kernel เปเบกเปˆเบ™เบชเบปเปˆเบ‡เบœเปˆเบฒเบ™เบเบปเบ™เป„เบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ Windows เปเบฅเบฐเบ—เบปเบ”เบชเบญเบšเบ•เปเปˆเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบ‚เบญเบ‡ Microsoft. เปเบœเปˆเบ™เปเบžเบฑเบเป€เบ„เบตเป€เบ™เบฅเบชเบฐเป€เบžเบฒเบฐ WSL2 เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เป€เบงเบฅเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เปเบเปˆเบ™, เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ, เปเบฅเบฐเบ›เปˆเบญเบเปƒเบซเป‰ kernel เบกเบตเบŠเบธเบ”เป„เบ”เป€เบงเบต เปเบฅเบฐเบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฑเป‰เบ™เบ•เปเปˆเบฒเบชเบธเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™