คุณเคยพบกระบวนการชื่อ "Vmmem" ในWindows Task Managerหรือไม่? มันใช้ CPU, RAM และทรัพยากรระบบอื่น ๆ มากเกินไป สิ่งนี้เกี่ยวข้องกับคุณหรือไม่? นี่เป็นกระบวนการที่ Windows ใช้เพื่อสาธิตปริมาณทรัพยากรที่เครื่องเสมือนใช้
ดังนั้น หากแสดงปริมาณการใช้ CPU หรือ RAM มากเกินไป แสดงว่าเป็นสาเหตุของข้อผิดพลาดเครื่องเสมือนของคุณ ในบทความนี้ Quantrimang.com จะสำรวจกระบวนการนี้โดยละเอียดยิ่งขึ้น และแสดงให้คุณเห็นว่าคุณสามารถลดการใช้ทรัพยากรได้อย่างไร
กระบวนการ Vmmem ทำหน้าที่อะไร?
ตามโพสต์บน Microsoft DevBlogs Windows จะสร้างกระบวนการ Vmmem เพื่อแสดงทรัพยากรที่ใช้โดยเครื่องเสมือน เมื่อคุณเห็นว่ากระบวนการนี้ใช้ทรัพยากรในตัวจัดการงานมากเกินไป แสดงว่าเครื่องเสมือนของคุณกำลังใช้ทรัพยากรเหล่านี้จริงๆ กระบวนการนี้เป็นเพียงการดำเนินการสำหรับการแสดงผลเท่านั้น
โดยทั่วไป คุณจะเห็นกระบวนการนี้เกิดขึ้นเมื่อคุณใช้งานเครื่องเสมือนใน Hyper-V Manager หรือใช้ WSL (ระบบย่อย Windows สำหรับ Linux) เพื่อเรียกใช้ไฟล์ปฏิบัติการไบนารีของ Linux โดยทั่วไปแล้ว ไม่ควรทำให้ทรัพยากรของคุณมากเกินไป แต่เมื่อเป็นเช่นนั้น มีบางอย่างผิดปกติ
หากคุณเห็นการใช้ทรัพยากรสูงในตัวจัดการงานสำหรับกระบวนการนี้ โปรดดูสิ่งที่สามารถแก้ไขได้
ขั้นแรก ค้นหาว่าอะไรเป็นสาเหตุของปัญหา
ขั้นแรก ให้พิจารณาว่าเครื่องเสมือนหรือโปรแกรมใดอยู่เบื้องหลังการใช้ทรัพยากรสูงของกระบวนการ Vmmem หากคุณเรียกใช้ตัวจัดการเครื่องเสมือนเพียงตัวเดียว คุณจะพบสาเหตุของปัญหาทันที อย่างไรก็ตาม หากคุณใช้ตัวจัดการเครื่องเสมือนและ WSL ในเวลาเดียวกัน คุณจะต้องพิจารณาว่าโปรแกรมใดเป็นสาเหตุของปัญหา
หากต้องการทราบ ให้ปิดเครื่องเสมือนใน Hyper-V Manager และดูว่าจะช่วยลดการใช้ทรัพยากรได้หรือไม่ ในทำนองเดียวกัน คุณสามารถปิดการใช้งานเครื่องมือ WSL และดูผลกระทบได้
เมื่อปิดเครื่องเสมือนใน Hyper-V Manager กระบวนการ Vmmem จะหายไปจากตัวจัดการงานทันที ซึ่งหมายความว่ากระบวนการนี้ไม่กินทรัพยากรอีกต่อไป ในทางกลับกัน เมื่อปิดเครื่องมือ Linux หรือ WSL กระบวนการ Vmmem จะใช้เวลาระยะหนึ่งจึงจะหายไป ดังนั้นโปรดรอสักครู่ก่อนที่จะประเมินผลกระทบของการปิดเครื่องมือ
เมื่อคุณระบุผู้กระทำผิดหลักแล้ว โปรดดูคำแนะนำด้านล่างที่อธิบายวิธีลดการใช้ทรัพยากรเครื่องเสมือนใน Hyper-V Manager และ WSL
วิธีลดการใช้ทรัพยากรเครื่องเสมือนใน Hyper-V Manager
หากกระบวนการ Vmmem แสดงการใช้ทรัพยากรสูงในตัวจัดการงานเมื่อใช้งานเครื่องเสมือนใน Hyper-V Manager ให้ใช้การตรวจสอบเบื้องต้นต่อไปนี้ก่อน:
- เปิดและปิดเครื่องเสมือนของคุณใน Hyper-V Manager
- รีสตาร์ท Hyper-V Manager หลังจากปิด
- เรียกใช้เครื่องเสมือนเพียงเครื่องเดียวใน Hyper-V Manager หากคุณมีเครื่องหลายเครื่อง
- หากคุณกำลังใช้แอปพลิเคชันเครื่องเสมือนอื่นกับ Hyper-V Manager พร้อมกัน ให้ปิดแอปพลิเคชันดังกล่าว
หากการตรวจสอบข้างต้นไม่ลดการใช้ทรัพยากร คุณสามารถตรวจสอบได้โดยดูจำนวนทรัพยากรที่กระบวนการ Vmmem ใช้ในตัวจัดการงาน จำกัดการจัดสรรทรัพยากรของเครื่องเสมือนใน Hyper-V Manager มีวิธีดังนี้:
- เปิดตัวจัดการ Hyper-V
- คลิกขวาที่เครื่องเสมือนของคุณแล้วเลือกการตั้งค่า
เปิดการตั้งค่าเครื่องเสมือนใน Hyper-V Manager
- บนแถบด้านข้างซ้าย คลิกหน่วยความจำ
- ตั้งค่าจำนวน RAM สูงสุดที่เครื่องเสมือนสามารถใช้ได้
- ยกเลิกการเลือก ช่อง เปิดใช้งานหน่วยความจำแบบไดนามิกหรือจำกัด RAM แบบไดนามิกที่เครื่องเสมือนสามารถใช้ได้
เปลี่ยนการจัดสรรหน่วยความจำของเครื่องเสมือนผ่านหน้าต่างการตั้งค่าใน Hyper-V Manager
ในทำนองเดียวกัน คุณสามารถเปลี่ยนพารามิเตอร์อื่นๆ เพื่อจำกัดเครื่องเสมือนให้ใช้ทรัพยากรที่ระบุเท่านั้น และไม่กดดันคอมพิวเตอร์ของคุณ หากการปรับการตั้งค่าเหล่านี้ไม่ช่วยลดการใช้ทรัพยากร คุณสามารถทิ้ง Hyper-V Manager และใช้ตัวจัดการเครื่องเสมือนอื่น เช่นVirtualBox หรือ VMware
ตัวจัดการเสมือนของบริษัทอื่นส่วนใหญ่แสดงปริมาณการใช้หน่วยความจำในตัวจัดการงานโดยใช้กระบวนการอื่นที่ไม่ใช่กระบวนการ Vmmem ตัวอย่างเช่น VMWare ใช้กระบวนการชื่อ VMware-vmx.exe ดังนั้น ให้จับตาดูพวกเขา และหากพวกเขาใช้ทรัพยากรมากเกินไป ให้จำกัดการจัดสรรหน่วยความจำ หรือใช้การแก้ไขดังกล่าวสำหรับ Hyper-V Manager
วิธีลดการใช้ทรัพยากรโดยใช้เครื่องมือ WSL และ Linux
WSL อาจมีสิทธิ์ใช้ RAM 50% ถึง 80% ขึ้นอยู่กับรุ่น Windows ของคุณ ตามที่อธิบายไว้ในเอกสารประกอบของ Microsoft ดังนั้น คุณคงจินตนาการได้ว่าสามารถใช้ทรัพยากรได้มากเพียงใด ซึ่งเป็นสิ่งที่กระบวนการ Vmmem พยายามแสดงให้เห็น
หากการเรียกใช้ระบบย่อย Windows สำหรับ Linux หรือเครื่องมือ Linux เฉพาะส่งผลให้มีการใช้ทรัพยากรสูง ดังที่แสดงในกระบวนการ Vmmem คุณสามารถเรียกคืนหน่วยความจำและแก้ไขปัญหาได้โดยทำตามขั้นตอนเหล่านี้หลังจาก:
1. รีสตาร์ท WSL ด้วยตนเอง
หนึ่งในวิธีที่ง่ายที่สุดในการจัดการกับการใช้ทรัพยากรสูงโดยเครื่องมือ WSL หรือ Linux คือการรีสตาร์ทเครื่องมือเหล่านั้น ดังนั้นคุณควรปิดเครื่องมือ Linux ที่คุณเปิดอยู่ด้วยตนเอง รวมถึง WSL ด้วย
รอสักครู่แล้วดูว่ากระบวนการ Vmmem หยุดแสดงการใช้ทรัพยากรจำนวนมากหลังจากนั้นหรือไม่ หากเป็นเช่นนั้น ให้รีสตาร์ทการกระจาย WSL และดูว่ากระบวนการ Vmmem ทำงานเหมือนกันหรือไม่ หากเป็นเช่นนั้น ให้ข้ามวิธีที่สองแล้วใช้วิธีที่สาม
อย่างไรก็ตาม หากคุณปิด WSL ด้วยตนเอง และไม่ได้หยุดกระบวนการ Vmmem ในตัวจัดการงาน คุณต้องปิดการทำงานดังกล่าว ในการแก้ไขครั้งต่อไป บทความนี้จะอธิบายวิธีการทำงาน
2. บังคับปิด WSL แล้วรีสตาร์ท
หากต้องการบังคับปิด WSL ให้ทำตามขั้นตอนเหล่านี้:
บังคับปิด WSL
รีสตาร์ทการกระจาย WSL ในภายหลัง หากการรีสตาร์ท WSL ไม่สามารถแก้ไขปัญหาได้ ให้ดำเนินการแก้ไขปัญหาถัดไป
3. จำกัดทรัพยากรสำหรับ WSL ด้วยตนเอง
WSL ยังสามารถถูกจำกัดในเรื่องทรัพยากรที่ใช้ เพื่อไม่ให้ระบบของคุณมีความต้องการทรัพยากรมากเกินไป คุณสามารถทำได้ด้วย WSL 2 เท่านั้น ซึ่งใช้งานได้บน Windows รุ่นที่สูงกว่า 19041 เท่านั้น ลองอ่านบทความของ Quantrimang.com เกี่ยวกับวิธีติดตั้ง WSL 2 บน Windowsหากคุณยังไม่ได้ดำเนินการ
หาก Windows build ของคุณรองรับ WSL 2 และคุณได้ติดตั้งไว้แล้ว คุณสามารถจำกัดทรัพยากรได้โดยทำตามขั้นตอนเหล่านี้:
- เรียกใช้พรอมต์คำสั่งของ Windows ด้วยสิทธิ์ของผู้ดูแลระบบ
- พิมพ์"wsl –shutdown"แล้วกดEnter
- ปิดพรอมต์คำสั่งของ Windows
- เปิด WSL
- หลังจากเปลี่ยนชื่อผู้ใช้แล้ว ให้ป้อนคำสั่งต่อไปนี้:
editor "$(wslpath "C:\Users\YourUsername\.wslconfig")"
ขีดจำกัดทรัพยากร WSL 2
- ป้อนการกำหนดค่าต่อไปนี้: หน่วยความจำ [wsl2]=5GB (จำกัดตามขนาด RAM ของคุณ)
- กดCTRL + X
- กด"Y"เมื่อได้รับแจ้งให้บันทึกการเปลี่ยนแปลง
บันทึกการเปลี่ยนแปลง
- ยืนยันตำแหน่งโดยกดEnterอีกครั้ง
- ทำซ้ำขั้นตอนที่ 1 ถึง 3
- รันคำสั่งต่อไปนี้หลังจากรีสตาร์ท WSL เพื่อยืนยันว่าจัดสรรทรัพยากรได้สำเร็จ
free -h --giga
ยืนยันว่าจัดสรรทรัพยากรสำเร็จแล้ว
ด้วยขั้นตอนข้างต้น คุณสามารถจำกัดการใช้ทรัพยากรของ WSL เพื่อไม่ให้คอมพิวเตอร์ของคุณทำงานหนักเกินไป
เป็นไปได้ไหมที่จะยุติกระบวนการ Vmmem?
ตัวจัดการงานไม่อนุญาตให้คุณปิดกระบวนการ Vmmem เช่นเดียวกับงานปกติ หากคุณพยายามทำเช่นนั้น คุณจะได้รับข้อผิดพลาด หากต้องการสิ้นสุดกระบวนการ Vmmem คุณต้องปิดเครื่องเสมือนและ WSL หรือเครื่องมือ Linux ใด ๆ
อย่าปล่อยให้เครื่องเสมือนใช้ทรัพยากรของคุณ!
เคล็ดลับที่กล่าวถึงในบทความจะช่วยคุณจำกัดการใช้ทรัพยากรเครื่องเสมือน หลังจากที่คุณทำเช่นนั้น กระบวนการ Vmmem จะไม่ใช้ทรัพยากรสูงในตัวจัดการงาน
การเลือกตัวจัดการเครื่องเสมือนที่ยอดเยี่ยมถือเป็นสิ่งสำคัญในการใช้งานเครื่องเสมือนอย่างมีประสิทธิภาพ ตัวจัดการเครื่องเสมือนที่เชื่อถือได้จะให้ประสิทธิภาพสูงสุดแก่คุณ ซึ่งตัวจัดการเครื่องเสมือนทั่วไปจะไม่สามารถทำได้