ภาษาไทย
Appearance
ภาษาไทย
Appearance
ผู้ใช้หลายคนที่เพิ่งเริ่มใช้ WSL2 มักเจอ "ความสงสัย" อย่างหนึ่ง: ติดตั้ง Linux เรียบร้อยแล้ว แต่ทำไมพอปิดเทอร์มินัลไปสักพัก มันก็ "ปิดเครื่องอัตโนมัติ" เสียอย่างนั้น? ทำไมมันไม่รันต่อเนื่องตลอดเวลา?
บทความนี้จะอธิบายปรากฏการณ์นี้ก่อน จากนั้นอธิบายว่าทำไม Microsoft ถึงออกแบบ WSL แบบนี้ และสุดท้ายแนะนำวิธีใช้ WSL Dashboard เพื่อเริ่มต้น distro ของ Linux แบบ keep-alive (รักษาให้ทำงานต่อเนื่อง)
คุณเคยเจอสถานการณ์แบบนี้ไหม?
NOTE
"ค่า idle timeout" เริ่มต้นของ WSL2 อยู่ที่ประมาณ 60 วินาที: เมื่อไม่มีกระบวนการใดกำลังทำงานอยู่ใน distro (เช่นคุณปิดเทอร์มินัลทั้งหมด) เครื่องเสมือน WSL จะปิดตัวลงโดยอัตโนมัติเพื่อปลดปล่อยทรัพยากรระบบ เช่น หน่วยความจำ
พฤติกรรมนี้คือ การออกแบบตามค่าเริ่มต้น ของ WSL2 ไม่ได้เป็นความผิดพลาดหรือข้อบกพร่อง
WSL2 ทำงานด้วยเคอร์เนล Linux เต็มรูปแบบผ่านเครื่องเสมือนขนาดเบา Hyper-V (utility VM) ทุก distro ที่กำลังรันอยู่จะ กินทรัพยากรหน่วยความจำจริง ๆ หาก distro ทั้งหมดพักอยู่เบื้องหลัง และเครื่องเดียวรันหลาย distro พร้อมกัน ก็จะสิ้นเปลืองหน่วยความจำหลายร้อย MB จนถึงหลาย GB อย่างเปล่าประโยชน์ ทำให้เครื่องทั้งระบบช้าลง
ปรัชญาการออกแบบของ Windows คือ "จัดสรรทรัพยากรตามความต้องการ หมดความจำเป็นก็ปลดปล่อย":
ดังนั้น WSL จึงใช้กลยุทธ์ "เริ่มต้นตามความต้องการ หยุดเมื่อว่าง" เพื่อให้หน่วยความจำและทรัพยากรอื่น ๆ ถูกคืนกลับสู่ระบบโดยอัตโนมัติเมื่อไม่จำเป็น
การ "ปิดอัตโนมัติเมื่อว่าง" ของ WSL ก็เหมือนการปิดไฟเมื่อออกจากห้อง: ประหยัดไฟและมีประสิทธิภาพกว่า แต่สำหรับคนที่ "ต้องการให้ห้องสว่างตลอดเวลา" นี่เป็นเรื่องลำบาก — และนี่คือที่มาของความต้องการ keep-alive
TIP
หากคุณต้องการให้ Linux รันแบบถาวร (เช่น ปรับใช้บริการ รันงานตามกำหนด สร้างเซิร์ฟเวอร์สำหรับพัฒนา ฯลฯ) โปรดอ่านบทถัดไป และใช้ WSL Dashboard เพื่อให้ distro ทำงานต่อเนื่อง
WSL Dashboard มีสองวิธีง่าย ๆ ที่ช่วยให้ distro Linux ของคุณรันต่อไปได้
ในรายการ "distro Linux ที่ติดตั้งแล้ว" ของ WSL Dashboard:
หลังจากคลิก distro จะถูกปลุกขึ้นมาทันทีและรันต่อเนื่อง ตราบใดที่คุณไม่หยุดมันเอง มันก็จะไม่ถูกปิดโดยอัตโนมัติเพราะว่างเปล่า วิธีนี้เหมาะกับสถานการณ์ keep-alive ชั่วคราวเมื่อคุณต้องการให้ Linux รันตลอด "ตอนนี้"
ในรายการ "distro Linux ที่ติดตั้งแล้ว" ของ WSL Dashboard:
เมื่อเลือกแล้ว ทุกครั้งที่ Windows เริ่มทำงาน/เข้าสู่ระบบ distro นั้นจะเริ่มทำงานโดยอัตโนมัติ โดยไม่ต้องดำเนินการใด ๆ ด้วยตนเอง เกิดเป็น "เริ่มเครื่องเมื่อไหร่ก็ทำงานต่อเนื่องทันที" วิธีนี้เหมาะกับสถานการณ์ที่ต้องการให้ Linux ออนไลน์ระยะยาว (เช่น เซิร์ฟเวอร์สำหรับพัฒนา บริการที่รันถาวร)
TIP