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]

 

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »

ทำความรู้จัก pgModeler และการติดตั้งบน Ubuntu 25.04

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

Read more »

ทำความรู้จักกับ Open Container Initiative OCI

ใน Proxmox VE 9.1 ที่เพิ่งเปิดตัวมาได้ไม่นานนี้ มีฟีเจอร์หนึ่งที่สร้างความฮือฮามากคือ การสนับสนุน OCI และ ทำให้หลายคนเริ่มต้องการเข้าใจว่ามันคืออะไร...

Read more »

IncusOS และ Incus สู่ยุคใหม่ของการจัดการ VM และ Container

IncusOS คืออะไร IncusOS เป็นดิสโทร Linux แบบ immutable หรือ Linux ที่ระบบไฟล์เปลี่ยนไม่ได้...

Read more »