áááŻááşááááŻááąáŹáˇááş WSL2 áĄáá˝ážáŹáá˛áˇ á á˝ááşá¸áááşáá˝áąááᯠáááŻá¸ááťá˛áˇááźááşá¸áá˛áˇ áááşáááşááźáŽá¸ (Windows áĄáá˝ááş Subsystem Linux) á executable files áá˝áąááᯠá áááşáááŻááşáĄáąáŹááş ááąááťáŹá áąááŤáááş Linux в Windowsá ááşá¸áááşá áŻá ááşá¸áážáŻááťáŹá¸áá˝ááş (build 19013) WSL2 áááş kernel-based environment áá˝ááş áááşáááşááąááąáŹ process ááťáŹá¸ááž áá˝ááşááźáąáŹááşáá˝áŹá¸ááąáŹ memory ááᯠááźááşááąá¸áááˇáş áááşá¸áááşá¸áá áşááŻááźá áşáááˇáş Memory Reclamation ááᯠááᯠááśáˇáááŻá¸ááąá¸ááŤáááşá Linux.
ááááşá application ááťáŹá¸ áááŻáˇáááŻááş kernel ááž memory ááŻáśá¸á á˝á˛áážáŻ ááźááˇáşáááşááŹááŤá memory ááᯠWSL2 virtual machine áááŻáˇ áá˝á˛ááąááąá¸áá˛áˇááąáŹáşáááşá¸ resource-intensive process ááźáŽá¸ááŻáśá¸ááźáŽá¸ áá˝á˛ááąááąá¸ááŹá¸ááąáŹ memory ááááŻáĄááşááąáŹáˇáááˇáşáááŻááş pinned ááźá áşááąááźáŽá¸ system áááŻáˇ ááźááşááááŻáˇááąáŹáˇááŤá Memory Reclamation mechanism áááş free ááŻááşááŹá¸ááąáŹ memory ááᯠhost OS áááŻáˇ ááźááşáááŻáˇáááŻááşá áąááźáŽá¸ virtual machine á memory áĄáá˝ááşáĄá áŹá¸ááᯠáĄáááŻáĄááťáąáŹááş ááťážáąáŹáˇááťááąá¸áááşá áááşá¸áááş user process ááťáŹá¸ááž free ááŻááşááŹá¸ááąáŹ memory áááŻááŹáá kernel caching áĄáá˝ááş áĄááŻáśá¸ááźáŻááąáŹ memory áááŻá፠ááźááşáááşááá°ááąá¸áááşá LinuxáĽáááŹáĄáŹá¸ááźááˇáşá disk activity ááźááˇáşááŹá¸ááąáŹáĄááŤá file system áááşáááşááąá ááşáá˝ááş file content ááťáŹá¸ááᯠááááşá¸áááşá¸ááąáŹ page cache áááş áĄáá˝ááşáĄá áŹá¸áááŻá¸ááŹáááşá "echo 1 > /proc/sys/vm/drop_caches," ááᯠááŻááşááąáŹááşááźáŽá¸ááąáŹááş cache ááᯠáážááşá¸áááşá¸áááŻááşááźáŽá¸ memory ááᯠmain OS áááŻáˇ ááźááşáááŻáˇáááŻááşáááşá
áážááşááŹááşááźááşáááşááá°ááźááşá¸ áĄááąáŹááşáĄáááşááąáŹáşáážáŻáááş áĄáąáŹááşááŤáĄááťááşááťáŹá¸áĄááąáŤáş áĄááźáąááśáááş
Intel áĄááşááťááşááŽááŹááťáŹá¸ááž áĄááá core áá˝ááş áááˇáşáá˝ááşá¸áááş áĄáááŻááźáŻáá˛áˇáááş Linux virtio-balloon driver áážááˇáş memory management system á á
á˝ááşá¸ááąáŹááşáááşááťáŹá¸ááᯠááťá˛áˇáá˝ááşáááşá ᤠpatch ááᯠáááşáááˇáş guest system áá˝ááşáááᯠáĄááŻáśá¸áááźáŻáááąá¸ááąáŹ memory page ááťáŹá¸ááᯠhost system áááŻáˇ ááźááşááąá¸áááş ááŽáááŻááşá¸ááŻááşááŹá¸ááźáŽá¸ hypervisors áĄááťááŻá¸ááťááŻá¸áážááˇáş áĄááŻáśá¸ááťáááŻááşáááşá WSL2 áĄáá˝ááşá patch ááᯠHyper-V hypervisor áááŻáˇ memory ááźááşááąá¸áááş áááŻááşááťáąáŹááŽáá˝áąááźá
áşáĄáąáŹááş ááźáŻááŻááşááŹá¸áááşá
WSL áá˛áˇ ááŻááááĄááźáááşááŻááşááąáážáŻááᯠáááááąá¸ááŤáá áą ááźááˇáşá áŻáśááąáŹ kernel ááąá¸áááŻáˇááźááşá¸ Linux á áá áşááąáŤáşáááŻáážáŻááťáŹá¸ááᯠááťááşááťááşá¸ááŹááŹááźááşááąá¸áááˇáş emulator áĄá áŹá¸ Linux á áá áşááąáŤáşáááŻáážáŻááťáŹá¸áá˛áááŻáˇ WindowsWSL2 áážáŹ áááŻáˇááąáŹááşááąá¸ááŤáááşá áááşáááşá¸ááťááşáá˝ááş áááşáááşááąááąáŹ ááŻááşááąáážáŻ 4.19 ááᯠáĄááźáąááśááŹá¸áááş Windows Azure áá˝ááş áĄááŻáśá¸ááźáŻááźáŽá¸ááŹá¸ virtual machine áá áşááŻááᯠáĄááŻáśá¸ááźáŻááźááşá¸á Kernel updates ááťáŹá¸ Linux ááášáááŹá¸áážáá áşáááˇáş ááąá¸áááŻáˇáááş Windows Microsoft áá˛áˇ á ááşáááşáááźááş ááąáŤááşá¸á ááşáážáŻ áĄááźáąááśáĄááąáŹááşáĄáĄáŻáśáážáŹ áĄááşááááşááŻááşááźáŽá¸ á ááşá¸áááşááąááŤáááşá kernel áážáŹ áĄááŻáśá¸ááźáŻááŹá¸áá˛áˇ WSL2-specific patch áá˝áąáážáŹ kernel startup time ááᯠááťážáąáŹáˇááťáááŻáˇá memory consumption ááᯠááťážáąáŹáˇááťáááŻáˇáá˛áˇ kernel áážáŹ áĄáááşá¸ááŻáśá¸ áááŻáĄááşáá˛áˇ drivers áá˛áˇ subsystem áá˝áąááᯠááááşá¸ááááşá¸áááŻáˇ optimization áá˝áą ááŤáááşááŤáááşá
source: opennet.ru
