Microsoft นำไปใช้ใน WSL2 (ระบบย่อย Windows สำหรับ Linux) เพื่อคืนหน่วยความจำให้กับระบบ

ไมโครซอฟท์ ประกาศ เกี่ยวกับการขยายขีดความสามารถของเลเยอร์ WSL2 (ระบบย่อย Windows สำหรับ Linux) ซึ่งช่วยให้มั่นใจได้ถึงการเปิดตัวไฟล์ปฏิบัติการ Linux บน Windows ในการทดลองสร้าง ภายในหน้าต่าง (build 19013) ในเลเยอร์ WSL2 การสนับสนุนการส่งคืนหน่วยความจำไปยังระบบ (Memory Reclamation) ที่เผยแพร่โดยกระบวนการที่ทำงานในสภาพแวดล้อมที่ใช้เคอร์เนล Linux ปรากฏขึ้น

ก่อนหน้านี้ ในกรณีที่แอปพลิเคชันหรือเคอร์เนลใช้หน่วยความจำเพิ่มขึ้น หน่วยความจำจะถูกจัดสรรให้กับเครื่องเสมือน WSL2 แต่หลังจากนั้นก็ยังคงถูกตรึงไว้และไม่ได้ส่งคืนไปยังระบบ แม้ว่าหลังจากกระบวนการที่ใช้ทรัพยากรมากสิ้นสุดลงและมี ไม่จำเป็นต้องใช้หน่วยความจำที่จัดสรรอีกต่อไป กลไกการเรียกคืนหน่วยความจำช่วยให้คุณสามารถคืนหน่วยความจำที่ว่างไปยังระบบปฏิบัติการหลักและลดขนาดของหน่วยความจำของเครื่องเสมือนโดยอัตโนมัติ สิ่งนี้ไม่เพียงส่งคืนหน่วยความจำที่ว่างโดยกระบวนการของผู้ใช้เท่านั้น แต่ยังรวมถึงหน่วยความจำที่ใช้สำหรับแคชในเคอร์เนล Linux ด้วย ตัวอย่างเช่น เมื่อมีกิจกรรมดิสก์สูง ขนาดของแคชเพจจะเพิ่มขึ้น ซึ่งเนื้อหาของไฟล์จะถูกฝากไว้เมื่อระบบไฟล์กำลังทำงาน หลังจากดำเนินการ "echo 1 > /proc/sys/vm/drop_caches" แคชจะสามารถล้างได้และหน่วยความจำสามารถกลับสู่ระบบปฏิบัติการหลักได้

การใช้งาน Memory Reclamation นั้นขึ้นอยู่กับ
ปะเสนอโดยวิศวกรของ Intel เพื่อรวมไว้ในเคอร์เนล Linux หลักเพื่อขยายขีดความสามารถของไดรเวอร์ virtio-balloon และระบบการจัดการหน่วยความจำ แพตช์ที่ระบุได้รับการออกแบบเพื่อใช้ในระบบเกสต์เพื่อส่งคืนเพจหน่วยความจำที่ไม่ได้ใช้ไปยังระบบโฮสต์ และสามารถใช้ได้กับไฮเปอร์ไวเซอร์ต่างๆ ในกรณีของ WSL2 แพตช์จะถูกปรับเพื่อส่งคืนหน่วยความจำไปยังไฮเปอร์ไวเซอร์ Hyper-V

จำได้ว่า WSL รุ่นที่สอง ต่าง การส่งมอบเคอร์เนล Linux ที่มีคุณสมบัติครบถ้วนแทนโปรแกรมจำลองที่แปลการเรียกระบบ Linux เป็นการเรียกระบบ Windows ได้ทันที จัดส่งใน WSL2 เคอร์เนลลินุกซ์ อ้างอิงจากรีลีส 4.19 ซึ่งทำงานในสภาพแวดล้อม Windows โดยใช้เครื่องเสมือนที่ทำงานอยู่แล้วใน Azure การอัพเดตเคอร์เนล Linux จะถูกส่งผ่านกลไก Windows Update และทดสอบกับโครงสร้างพื้นฐานการรวมอย่างต่อเนื่องของ Microsoft แพทช์เคอร์เนลเฉพาะ WSL2 ประกอบด้วยการปรับให้เหมาะสมเพื่อลดเวลาการเริ่มต้นเคอร์เนล ลดการใช้หน่วยความจำ และปล่อยให้เคอร์เนลมีชุดไดรเวอร์และระบบย่อยขั้นต่ำที่จำเป็น

ที่มา: opennet.ru

เพิ่มความคิดเห็น