Memory overcommitment ทำงานอย่างไร

Published on November 8, 2025
Memory overcommitment ทำงานอย่างไร

Memory Overcommitment หรืออีกชื่อหนึ่งคือ Memory Oversubscription นั้นเป็นเทคโนโลยีที่อนุญาตให้ผู้ใช้งานหรือผู้จัดการ hypervisor นั้นสามารถที่จะตั้งค่าหน่วยความจำของ VMs ทั้งหมด ได้มากกว่าหน่วยความจำที่มีอยู่จริง

เทคโนโลยีดังกล่าวนั้น มีอยู่ใน VMware ESXi มานานพอสมควรแล้วคือตั้งแต่ปี 2010 โดยประมาณ เทคโนโลยีดังกล่าวนั้นเป็นเทคโนโลยีที่ซับซ้อนพอสมควร ยกตัวอย่างเช่นใน ESXi Host ตัวหนึ่ง

Host : มีแรมทั้งหมด 32GB
และมี VM 3 ตัวดังต่อไปนี้คือ : VM1 ตั้งค่าแรมไว้ 8GB / VM2 ตั้งค่าแรมไว้ 8GB และ / VM3 ตั้งค่าแรมไว้ 18GB
เมื่อเรารวมหน่วยความจำที่ตั้งให้กับ VMs หรือ Guest OS ทั้งหมดเราจะพบว่ามันมี 34GB ซึ่งเกินกว่าหน่วยความจำจริงของเครื่อง

แต่สิ่งดังกล่าวนั้นเป็นไปได้ เพราะ VMware ESXi นั้นได้สร้างเทคโนโลยีและออกแบบระบบมาให้ปลอดภัย สำหรับการทำ Memory Overcommitment ดังกล่าว และแน่ใจว่าปลอดภัยต่อ Host เอง

แล้วใน KVM Bases Hypervisor รวมถึง Proxmox VE ล่ะ ?

ต้องบอกว่า ทางเทคนิคแล้วทำได้ แต่ !!! ไม่แนะนำและไม่ปลอดภัย เพราะเมื่อใดก็ตามที่ VM เหล่านั้นใช้หน่วยความจำจนหมด ตัว Host เองจะทำการรีสตาร์ท เพราะไม่มีหน่วยความจำเหนือในการใช้งาน

เทคโนโลยีที่ใกล้เคียงที่สุดกับ Memory Overcommitment ใน KVM คืออะไร ?

สำหรับเทคโนโลยีที่ใกล้เคียงคือสิ่งที่เรียกว่า Memory Ballooning ซึ่งทำได้ผ่าน การเปิดฟีเจอร์ดังกล่าว ขณะที่ท่านสร้าง VM แต่ท่านจะต้องตั้งค่าใน Guest OS ด้วยคือ เปิดการใช้ balloon driver เมื่อ Guest OS มีการใช้งานหน่วยความน้อย Hypervisor จะทำการนำหน่วยความดังกล่าวไปให้ VM ตัวอื่นๆ หรือ เรียกคืนนั่นเอง

นอกจากนั้นใน Proxmox VE จะมีสิ่งที่มาช่วยสร้างความยืดหยุ่นในการใช้งานหน่วยความจำที่เรียกว่า Kernel Samepage Merging (KSM) โดยมันจะทำหน้าที่ deduplicate เพจในหน่วยความจำที่เหมือนกันในหลายๆ VMs

อย่างไรก็ตามทั้งหมดเรายังไม่ขอแนะนำ และ รอให้การส่วนจัดการหน่วยความจำแบบนี้ได้รับการพัฒนาไปสักระยะหนึ่งเพื่อความปลอดภัยในการใช้งาน

ข้อสรุป หากเทียบกับ ESXi

VMware ESXi นั้นมีเทคโนโลยีเกี่ยวกับการจัดการ Memory Overcommitment ที่ก้าวหน้าและพัฒนามานาน ด้วยเทคโนโลยีที่เกี่ยวข้องคือ Transparent Page Sharing, Ballooning, Memory Compression, Host Swapping และ Dynamic Reclaiming รวมทั้งเทคโนโลยีการป้องกันตัวโฮสต์เองจากการมีหน่วยความจำไม่พอในหลายๆ ระดับ ดังนั้น จึงมีความปลอดภัยกว่า ในแง่ของหากท่านต้องการจะ Utilize RAM ให้ได้มากที่สุด แต่สำหรับ Proxmox VE เองนั้น ใช้การจัดการ Memory Ballooning, KSM และ swaping มาช่วย ดังนั้นจึงไม่แนะนำ หากท่านจะกำหนดให้มีการใช้งานหน่วยความจำเกินกว่าที่โอสต์มี

กรณีท่านต้องการรับคำปรึกษาหรือต้องการซื้อไลเซนต์ Proxmox VE ติดต่อเราได้ที่ Line OA : @avesta.co.th หรืออีเมล์ [email protected]

 

Memory overcommitment ทำงานอย่างไร

Memory Overcommitment หรืออีกชื่อหนึ่งคือ Memory Oversubscription นั้นเป็นเทคโนโลยีที่อนุญาตให้ผู้ใช้งานหรือผู้จัดการ hypervisor นั้นสามารถที่จะตั้งค่าหน่วยความจำของ VMs ทั้งหมด...

Read more »

CPU overcommit คืออะไรและมันทำงานอย่างไร

สำหรับผู้ที่ใช้งาน VMware ESXi มาก่อนนั้น ท่านอาจจะคุ้นเคยกับคำว่า CPU Overcommit เนื่องจากเป็นฟีเจอร์หนึ่งที่ถือว่าเป็นจุดขาย เพราะมันทำงานโดย การอนุญาตให้เรากำหนดจำนวน...

Read more »

การเลือกชนิด processor สำหรับ VM บน Proxmox VE

สำหรับผู้ที่เริ่มใช้งาน Proxmox VE นั้นอาจจะต้องพบกับสับสนหลายอย่าง และ หนึ่งในสิ่งที่เจอบ่อยๆ ก็คือ การเลือกชนิด processor หรือเรียกง่ายๆ...

Read more »

สิ่งที่มักเข้าใจผิดเมื่อพูดถึง Virtualization Platforms

Hypervisor Type 1 หรือเรียกว่า Bare-metal Hypervisor คือซอฟต์แวร์ที่รันโดยตรงบนฮาร์ดแวร์ของเครื่องเซิร์ฟเวอร์ โดยไม่ต้องผ่านระบบปฏิบัติการก่อน ทำให้มีประสิทธิภาพสูง เสถียร...

Read more »

Ceph vs Storage Spaces Direct MS S2D

หากพูดถึง Software Defined Storage (SDS) นั้นต้องเรียกว่า มันกำลังได้รับความนิยมมากขึ้นเรื่อยๆ เพราะมันขับเคลื่อนด้วยความต้องการที่จะเปลี่ยนทุกอย่างให้สามารถควบคุมด้วยซอฟต์แวร์ได้ ในตลาดนั้นต้องบอกว่า มีหลายผู้ผลิตที่ทั้งอยู่ในตลาดเดิม...

Read more »

ความนิยมในการใช้งาน Openstack ในยุคที่คลาวด์รุ่งเรือง

OpenStack ยังคงเป็นแพลตฟอร์มคลาวด์โอเพนซอร์สชั้นนำของโลก และมีการใช้งานเพิ่มขึ้นอย่างต่อเนื่องทุกปี จากผลการสำรวจผู้ใช้งาน OpenStack พบว่ามันถูกนำไปใช้งานจริงในระบบมากกว่า 40 ล้านคอร์ จากกว่า 300...

Read more »