ฉันมี CentOS 6 โฮสต์สำหรับหลาย KVM VMs พร้อม FreeBSD ในฐานะแขก
ฉันต้องการผูก VM แต่ละเครื่องเพื่อใช้ไม่เกินหนึ่งคอร์ในเวลาเดียวกัน คุณต้องการแนะนำอะไรให้ใช้ Cgroups หรือ Tasksets
ฉันมี CentOS 6 โฮสต์สำหรับหลาย KVM VMs พร้อม FreeBSD ในฐานะแขก
ฉันต้องการผูก VM แต่ละเครื่องเพื่อใช้ไม่เกินหนึ่งคอร์ในเวลาเดียวกัน คุณต้องการแนะนำอะไรให้ใช้ Cgroups หรือ Tasksets
คำตอบ:
ฉันคิดว่ากลุ่ม cg เป็นวิธีที่ต้องการกับ EL6 ในขณะนี้โดยเฉพาะอย่างยิ่งกับการจำลองเสมือน Taskset นั้นดีที่สุดสำหรับแต่ละกระบวนการ แต่กลุ่ม cg นั้นใกล้เคียงกับแนวคิดของการป้องกัน / คอนเทนเนอร์
หากคุณใช้ libvirt คุณสามารถใช้:
<domain>
...
<vcpu placement='static' cpuset="1" current="1">2</vcpu>
...
</domain>
ในข้อกำหนด XML ของโดเมน สถานที่น่าสนใจบางแห่งที่มีข้อมูลที่เกี่ยวข้อง:
http://libvirt.org/formatdomain.html
สำหรับการผูกชุดงาน Vms กับ CPU เป็นวิธีการที่เหมาะสม cgroups จะมีการจัดการทรัพยากรอย่างละเอียดยิ่งขึ้นจัดการกับการใช้งาน CPU ร่วมกัน และแน่นอน @rubiojr ได้พูดถึงวิธีการดั้งเดิมของ libvirt ในการตรึงซีพียู vCPU แล้ว