การอัปเดต WSL ครั้งใหญ่นำมาซึ่งการลดขนาด VHD อัตโนมัติ เครือข่ายมิเรอร์ และอื่นๆ อีกมากมาย

การอัปเดตก่อนเผยแพร่เดือนกันยายน 2023 ของ WSL นำเสนอฟีเจอร์ที่น่าตื่นเต้นมากมาย รวมถึงการปรับปรุงเครือข่าย ไฟร์วอลล์ และการลดขนาด VHD อัตโนมัติ

ประเด็นที่สำคัญ

  • Microsoft ได้เปิดตัวฟีเจอร์ทดลองใหม่ในระบบย่อย Windows เวอร์ชันล่าสุดสำหรับ Linux (WSL) เช่น autoMemoryReclaim ซึ่งจะช่วยลดการใช้หน่วยความจำใน WSL VM เมื่อ CPU ถูก ไม่ได้ใช้งาน
  • sparseVhd เป็นอีกหนึ่งคุณสมบัติใหม่ที่ช่วยให้ผู้ใช้สามารถลดขนาดฮาร์ดดิสก์เสมือนของ Linux distros ใน WSL ได้โดยอัตโนมัติ
  • โหมดเครือข่ายแบบมิเรอร์ใน WSL ช่วยให้อินเทอร์เฟซเครือข่ายจาก Windows สามารถมิเรอร์ใน Linux ได้ ซึ่งได้รับการปรับปรุงให้ดีขึ้น ความเข้ากันได้และการเพิ่มคุณสมบัติใหม่ แต่ปัจจุบันมีให้บริการเฉพาะ Windows Insiders ที่ใช้ Windows 11 เท่านั้น รุ่น 22H2.

ระบบย่อย Windows สำหรับ Linux (WSL) คือ ยูทิลิตี้ที่มีประโยชน์มีอยู่ใน Windows 10 และ Windows 11 ที่ช่วยให้นักพัฒนาสามารถรันสภาพแวดล้อม GNU/Linux ได้โดยตรงภายในระบบปฏิบัติการ โดยไม่ต้องใช้เครื่องเสมือน (VM) หรือการกำหนดค่าดูอัลบูต การนำไปปฏิบัติจึงกลายเป็น โดยทั่วไปมีให้ผ่านทาง Microsoft Store เมื่อประมาณหนึ่งปีที่ผ่านมา ทำให้ผู้ใช้ที่สนใจสามารถติดตั้งได้อย่างรวดเร็วได้ง่ายขึ้น ขณะนี้ Microsoft ได้เปิดตัว WSL เวอร์ชันก่อนเผยแพร่ใหม่พร้อมฟีเจอร์ทดลองที่น่าสนใจมากมาย

คุณลักษณะการทดลองแรกเรียกว่า autoMemoryReclaim; ช่วยให้ WSL VM ลดขนาดหน่วยความจำโดยปล่อยหน่วยความจำแคชเมื่อตรวจพบ CPU ของ WSL VM ที่ไม่ทำงาน ยอมรับสองข้อโต้แย้ง: ค่อยเป็นค่อยไป และ หยด. ค่าแรกจะค่อยๆ เพิ่มหน่วยความจำหลังจาก CPU ไม่ทำงานเป็นเวลา 5 นาที ในช่วงเวลา 30 นาที ในขณะเดียวกัน อย่างหลังจะปล่อยหน่วยความจำแคชทั้งหมดทันทีหลังจากถึงเกณฑ์ 5 นาทีเดียวกัน ที่กล่าวว่า Microsoft มี เข้าใจแล้ว ว่า ค่อยเป็นค่อยไป การกำหนดค่าจะทำให้ docker daemon เสียหายหากคุณใช้ประโยชน์จากมันเป็นบริการใน WSL ดังนั้นให้ใช้ Docker Desktop แทน

ต่อไปเรามี เบาบางVhdซึ่งช่วยให้ผู้ใช้สามารถกำหนดค่าฮาร์ดดิสก์เสมือน (VHD) ของตนให้ลดขนาดลงโดยอัตโนมัติหลังจากผ่านไประยะหนึ่ง มันยอมรับค่าบูลีนของ จริง และ เท็จและสามารถนำไปใช้กับ Linux distros ที่มีอยู่ได้เช่นกัน

ความสามารถในการทดลองที่น่าสนใจอีกอย่างหนึ่งคือโหมดใหม่สำหรับ โหมดเครือข่าย เรียกว่า มิเรอร์. มีการเสนอนอกเหนือจากค่าเริ่มต้น แนทและเป็นนวัตกรรมใหม่ที่ช่วยให้อินเทอร์เฟซเครือข่ายที่ใช้บน Windows สามารถสะท้อนกับ Linux ที่ทำงานอยู่ใน WSL ได้ สิ่งนี้ช่วยเพิ่มความเข้ากันได้และเพิ่มคุณสมบัติใหม่เช่นการรองรับ IPv6 และมัลติคาสต์, ความเข้ากันได้ที่ดีขึ้นสำหรับ VPN, การเชื่อมต่อกับ WSL ใช้ Local Area Network (LAN) ของคุณ และเชื่อมต่อกับเซิร์ฟเวอร์ Windows โดยตรงผ่าน Linux โดยใช้ที่อยู่ localhost 127.0.0.1 อย่างไรก็ตาม มีปัญหาที่ทราบบางประการในการใช้งานนี้ และขณะนี้พร้อมใช้งานสำหรับ Windows Insiders ที่ใช้ Windows 11 เวอร์ชัน 22H2 เท่านั้น

คุณลักษณะที่คล้ายกันในการลากจูงคือ ไฟร์วอลล์ การตั้งค่าที่ยอมรับอาร์กิวเมนต์บูลีนของ จริง และ เท็จ. หากตั้งค่าเป็นแบบเดิม กฎ Windows Firewall ของคุณจะได้รับการสืบทอดโดย WSL VM พร้อมด้วยความสามารถในการตั้งค่ากฎไฟร์วอลล์ Hyper-V ใหม่เฉพาะสำหรับการรับส่งข้อมูลเครือข่าย WSL ความสามารถนี้มีเฉพาะใน Windows Insiders บน Windows 11 เวอร์ชัน 22H2

นอกจากนี้การตั้งค่า DNSTunneling ถึง จริง เปลี่ยนวิธีการร้องขอ DNS พร็อกซีจาก WSL เป็น Windows สิ่งนี้ควรเปิดใช้งานเครือข่ายที่ดีขึ้นสำหรับ WSL distro ที่สื่อสารกับอินเทอร์เน็ตผ่าน VPN หรือไฟร์วอลล์ที่กำหนดเองและการตั้งค่าเครือข่าย นอกจากนี้ยังหมายความว่าคุณจะได้รับข้อผิดพลาด "ไม่มีการเชื่อมต่อเครือข่าย" ภายใน WSL distro น้อยลง ขณะนี้ฟีเจอร์นี้ถูกล็อคอยู่หลังช่อง Insider บน Windows 11 เวอร์ชัน 22H2 เช่นกัน

ในที่สุดเราก็มี จริง การกำหนดค่าสำหรับ พร็อกซีอัตโนมัติ. ตามชื่อที่แนะนำ ช่วยให้ผู้ใช้สามารถใช้ประโยชน์จากการตั้งค่าพร็อกซีของ Windows โดยอัตโนมัติภายใน WSL VM เพื่อที่คุณจะได้ไม่ต้องกำหนดค่าด้วยตนเองและอาจพบข้อผิดพลาด แม้ว่าจะไม่ได้ปิดบังช่อง Insider แต่คุณยังคงต้องใช้ Windows 11 เวอร์ชัน 22H2 เพื่อใช้ประโยชน์จากฟีเจอร์นี้

แน่นอนว่านี่อาจเป็นข้อมูลจำนวนมากที่ต้องดูดซับ ดังนั้น Craig Lowen ผู้จัดการผลิตภัณฑ์ของ WSL จึงได้เผยแพร่ข้อมูลที่มีประโยชน์ วิดีโออธิบายวิธีที่คุณสามารถใช้ความสามารถทดลองเหล่านี้และกำหนดค่าได้อย่างถูกต้อง ลองดูสิ ด้านล่าง:

โปรดทราบว่ายังมีการปรับปรุงอื่น ๆ ที่ค่อนข้างเล็กอยู่ด้วย และคุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงเหล่านี้ได้ในบันทึกการเปลี่ยนแปลงสำหรับ WSL 2.0.0 เวอร์ชันก่อนเผยแพร่ในที่เก็บ GitHub ที่นี่.