เรากำลังใช้ Ubuntu 12.04 กับพารามิเตอร์ต่อไปนี้:
- Dell R910
- เคอร์เนล 3.2.0-25-generic # 40-Ubuntu SMP x86_64 x86_64 x86_64 GNU / Linux
- kvm 1: 84 + dfsg-0ubuntu16 + 1.0 + noroms + 0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- qemu-common 1.0 + noroms-0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- 4 x CPU Intel (R) Xeon (R) E7- 4870 @ 2.40GHz (แต่ละอันมี 10 ฟิสิคอล, HT และ Intel VT ที่เปิดใช้งาน)
- ขณะนี้แขกของ Windows ไม่มี VirtIO แต่จะเปลี่ยนในไม่ช้า
เรากำลังเรียกใช้แขกของ Windows หลายคนบนเครื่องนี้หนึ่งในนั้นคือ Windows 2003 32 บิตและอีกหนึ่ง Windows 2008 (64 บิต) ขณะนี้เรากำลังดิ้นรนกับปัญหาด้านประสิทธิภาพและเล่นกับซีพียูรุ่นต่างๆ
เรามักจะใช้ "qemu-system-x86_64 สำหรับแขก Windows 32 Bit ของเราเช่น:
/usr/bin/qemu-system-x86_64 -S -M pc-1.0 -cpu qemu32 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 [...]
ประสิทธิภาพการทำงานของแขกคนนี้กลายเป็นต่ำ เรายังไม่ได้รันเกณฑ์มาตรฐาน แต่สมมุติว่าการคัดลอกข้อมูล (ไฟล์) จำนวนมากใน VM จากไดเรกทอรีหนึ่งไปยังอีกไดเรกทอรีหนึ่งนั้นจะเร็วกว่ามากเมื่อเราสลับรุ่น CPU จาก "-cpu qemu32" เป็น "-cpu Nehalem " ไฟล์ที่ใช้เวลาประมาณ 2: 40 ชั่วโมงในการคัดลอกตอนนี้คัดลอกภายใน 40 นาที แน่นอนว่านี่ไม่ใช่การทดสอบที่มีคุณภาพสูงและมีพื้นที่เหลือเฟือสำหรับความพยายามอย่างมืออาชีพ แต่นี่เป็นตัวบ่งชี้ที่ชัดเจนว่าการเลือกรุ่น CPU ที่ถูกต้องอาจส่งผลกระทบต่อประสิทธิภาพการทำงานของแขกอย่างมาก
ตอนนี้ฉันอยากรู้อยากเห็นและวิ่ง:
qemu-x86_64 -cpu ?
x86 [n270]
x86 [athlon]
x86 [pentium3]
x86 [pentium2]
x86 [pentium]
x86 [486]
x86 [coreduo]
x86 [kvm32]
x86 [qemu32]
x86 [kvm64]
x86 [core2duo]
x86 [phenom]
x86 [qemu64]
และ:
kvm -cpu ?model
x86 Opteron_G3 AMD Opteron 23xx (Gen 3 Class Opteron)
x86 Opteron_G2 AMD Opteron 22xx (Gen 2 Class Opteron)
x86 Opteron_G1 AMD Opteron 240 (Gen 1 Class Opteron)
x86 Nehalem Intel Core i7 9xx (Nehalem Class Core i7)
x86 Penryn Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86 Conroe Intel Celeron_4x0 (Conroe/Merom Class Core 2)
x86 [n270] Intel(R) Atom(TM) CPU N270 @ 1.60GHz
x86 [athlon] QEMU Virtual CPU version 1.0
x86 [pentium3]
x86 [pentium2]
x86 [pentium]
x86 [486]
x86 [coreduo] Genuine Intel(R) CPU T2600 @ 2.16GHz
x86 [kvm32] Common 32-bit KVM processor
x86 [qemu32] QEMU Virtual CPU version 1.0
x86 [kvm64] Common KVM processor
x86 [core2duo] Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
x86 [phenom] AMD Phenom(tm) 9550 Quad-Core Processor
x86 [qemu64] QEMU Virtual CPU version 1.0
ด้วยเวอร์ชันที่แตกต่างกันทั้งหมดมันเป็นเรื่องยากที่จะเดา "Nehalem" ดูเหมือนจะเป็นคนที่มีประสิทธิภาพมากที่สุดในรายการนั้น ตอนนี้ฉันสงสัยว่าจะบอกได้อย่างไรว่าซีพียูรุ่นใดดีที่สุดสำหรับแขกของฉัน? ท่องอินเทอร์เน็ตฉันพบทรัพยากรต่อไปนี้:
- http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/
- http://www.linux-kvm.org/page/Tuning_KVM
เมื่อฉันอ่านเว็บไซต์เหล่านั้นอย่างถูกต้องพวกเขาอ้างว่า "-cpu host" อาจให้ประสิทธิภาพที่ดีที่สุด ฉันยังไม่กังวลเกี่ยวกับการย้ายข้อมูลเนื่องจากโฮสต์ KVM ทั้งสองติดตั้งเท่ากัน (ฮาร์ดแวร์เดียวกัน)
ดังนั้นผู้ดูแลระบบ KVM ที่มีประสบการณ์จะแนะนำอะไร มีกฎทองหรือแม้กระทั่งเมทริกซ์เช่น "รุ่นนี้ดีที่สุดสำหรับแขกระบบปฏิบัติการ" หรือไม่?
ฉันขอโทษถ้าฉันสามารถหาข้อมูลนี้ด้วยตัวเอง - ฉันใช้การค้นหาของ Google หลายครั้งและเรียกดูเว็บไซต์จำนวนมาก ฉันไม่พบสิ่งที่ตอบคำถามของฉัน