ข้อ จำกัด ของตัวประมวลผล Hyper-V


14

เราเพิ่งซื้อเซิร์ฟเวอร์ที่ใช้โลหะเปลือย Hyper-V 2008 R2 เซิร์ฟเวอร์นั้นมีโปรเซสเซอร์ Intel Xeon แบบ quad-core สองตัวพร้อมด้วยเธรดไฮเปอร์เธรดดังนั้นถ้าฉันเข้าใจอย่างถูกต้องจะทำให้เรามี 16 คอร์ ภายใน Hyper-V เราได้สร้างเครื่องเสมือนที่ใช้ Windows Server 2008 R2 พร้อมโปรเซสเซอร์เสมือน 4 ตัว หน้าจอการตั้งค่าตัวประมวลผลกำลังบอกฉันว่านี่แสดงถึง 25% ของกำลังการประมวลผลของระบบทั้งหมด นี่หมายความว่าส่วนที่เหลือ 75% ที่ไม่สามารถแตะเป็น OS เสมือนได้หรือไม่ เราจะใช้เครื่องเสมือนอื่นไม่กี่เครื่อง แต่เครื่องนี้ใช้สำหรับ SQL Server และเราต้องการที่จะโยนแรงม้าให้มากที่สุดเท่าที่จะเป็นไปได้


5
คุณต้องการระวังอย่างมากเกี่ยวกับการจัดสรร vCPU ให้กับเครื่อง หมายความว่าเครื่องเสมือนต้องรอจนกว่าจะมีตัวประมวลผลทางกายภาพ 4 ตัวพร้อมกันก่อนที่จะสามารถดำเนินการได้ ดูที่นี่
Holocryptic

6
เท่าที่ Hyperthreading ดำเนินไปดูที่ไพรเมอร์ที่ยอดเยี่ยมนี้: arstechnica.com/old/content/2002/10/hyperthreading.ars
Hyppy

4
Holocryptic ข้อความของคุณเป็นจริงของระบบ VMWare รุ่นเก่า แต่มันไม่เคยเป็นจริงสำหรับ Hyper-V Hyper-V ไม่ได้ "กำหนดเวลาแก๊งค์" ตัวประมวลผลเสมือน
Jake Oshins

คำตอบ:


15

vCPU สามารถแมปกับ CPU ทางกายภาพเดียวเท่านั้น คุณไม่สามารถใช้ฟิสิคัล CPU 4 ตัวและสร้าง vCPU เดี่ยวที่เร็วกว่า 4x; มันไม่ใช่วิธีการทำงาน

Hyper-V ถูก จำกัด ให้กำหนด 4 vCPU ให้กับ VM (ตรวจสอบล่าสุดฉัน) หากคุณต้องการพลังของ CPU อย่างมีนัยสำคัญไปได้จริงไม่จำเป็นต้องเพิ่ม virtualization overhead ให้กับสิ่งที่ CPU เข้มข้นและขนานในตอนแรก

นอกจากนี้ตามบันทึก Holocryptic หากคุณกำหนด 4 vCPU ให้กับ VM นั้น VM จะไม่สามารถทำงานได้จนกว่า Hyper-V จะได้รับฟิสิคัลคอร์ CPU 4 คอร์เพื่อเรียกใช้งาน ทั้งนี้ขึ้นอยู่กับการกำหนดค่าของคุณอาจจะเป็นอุปสรรคสำคัญ (เช่นถ้าคุณมีเครื่อง 6-core กับพวงของ 4 vCPU VMs เพียงคนเดียวที่เคยจะทำงานในเวลาอีกสองแกนจะเสมอไปเป็นหลักไม่ได้ใช้) อ้างอิงจากJake Oshinsสิ่งนี้ไม่เป็นความจริงสำหรับ Hyper-V รุ่นใด ๆ เขาระบุว่า Hyper-V ไม่ได้ใช้การกำหนดเวลาแก๊งค์สำหรับ CPU เหมือนกับไฮเปอร์ไวเซอร์อื่นเกือบทุกตัว ดังนั้นหากมีคอร์ซีพียูแกนหนึ่งที่พร้อมใช้งาน Hyper-V อาจใช้เพื่อรัน VM แบบหลาย CPU (กล่าวถึง Hyper-V อาจไม่สามารถใช้แกนประมวลผลทางกายภาพทั้งหมดที่มีอยู่ในเวลาเนื่องจากการแบ่ง NUMA)

หมายเหตุด้านข้าง: SQL ไม่จำเป็นต้องใช้แกนทั้งหมดที่คุณสามารถโยนได้ในตอนแรก มันจริงๆขึ้นอยู่กับสิ่งที่คุณกำลังใช้มันและวิธีการ parallelizable โหลด


ฉันเห็นด้วย แต่โอเวอร์เฮดของซีพียูเสมือนนั้นแทบจะไม่มีอะไรเลยและแทบจะไม่เกิดขึ้นเลย
Nate

4
Chris บันทึกของ Holocryptic นั้นผิดปกติ Hyper-V ไม่รอจนกว่าจะมี CPU เสมือน 4 ตัวที่ว่างก่อนกำหนดเวลาตัวประมวลผลเสมือนจาก VM VP 4 ตัว Hyper-V จัดตารางเวลาตัวประมวลผลเสมือนเมื่อใดก็ตามที่มีตัวประมวลผลทางกายภาพอิสระที่จะเปิดใช้งานพร้อมกับข้อ จำกัด เล็กน้อย ตัวอย่างเช่นจะค้นหาตัวประมวลผลทางกายภาพภายในโหนด NUMA ทางกายภาพเดียวกับส่วนที่เหลือของ VM
Jake Oshins

3

ใช่สิ่งที่คริสพูด หากคุณต้องการซีพียูมากกว่า 4 ตัวในเครื่องเสมือน Hyper-V ให้สร้างเซิร์ฟเวอร์ SQL สองตัวเสมือนและกระจายฐานข้อมูลของคุณ ขึ้นอยู่กับสิทธิการใช้งานเซิร์ฟเวอร์ SQL ของคุณคุณสามารถเพิ่มเซิร์ฟเวอร์ SQL เพิ่มเติมในเซิร์ฟเวอร์เสมือน (บนโฮสต์ทางกายภาพเดียวกัน) โดยไม่ต้องเสียค่าใช้จ่ายในการออกใบอนุญาตเพิ่มเติม แต่อ่านเอกสารทางเทคนิคเกี่ยวกับสิทธิ์ใช้งาน SQL เสมือนสำหรับข้อมูลเพิ่มเติม

ฉันจะยอมรับด้วยว่าถ้าคุณใช้พลังงานจาก CPU ที่มี CPU เสมือน 4 ตัวคุณก็จะมีการใช้งานแอพอย่างจริงจังหรือคำสั่ง SQL นั้นเขียนไม่ดี


1
Re: "... หรือคำสั่ง SQL เขียนไม่ดี" เกือบจะรับประกันได้ว่าเมื่อใดก็ตามที่รหัสที่ผู้จำหน่ายระบุนั้นกำลังเล่นอยู่
Skyhawk

แท้จริงแล้วทราฟฟิกฐานข้อมูลส่วนใหญ่นั้นเป็นของ OLTP จากระบบ ERP ของเรา เรายังมีระบบเวิร์กโฟลว์จากผู้ขายรายเดียวกัน สิ่งที่กำหนดเองที่เขียนภายใน บริษัท มีค่าใช้จ่ายเล็กน้อย
สกอตต์

ฐานข้อมูลเก่าของเราใช้งานสูงสุดในคอร์ลอจิคัล 4 คอร์ (ซีพียูดูอัลคอร์สองตัว) ดังนั้นเราคาดหวังว่าจะต้องมีมากกว่านั้น
สกอตต์

0

ประมาณ 4 ซีพียูคอร์ จำกัด :

ในส่วนไฟล์กำหนดค่าของ VM:

[โปรเซสเซอร์] [นับประเภท =” จำนวนเต็ม”] 16 [/ จำนวน]

ตอนนี้คุณมีซีพียู 16 คอร์

ปรับปรุง:ภาพหน้าจอดูเหมือนจำเป็น

ป้อนคำอธิบายรูปภาพที่นี่


0

ทำตามคำแนะนำนี้

http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

คุณสามารถค้นหาไฟล์คอนฟิกูเรชัน vm xml ภายใต้ไดเร็กทอรี "Virtual Machines" ของไดเร็กทอรี VHD ของ VM ไฟล์คอนฟิกูเรชันจะถูกตั้งชื่อภายใต้ id ของ VM ลิงค์ด้านล่างนี้เป็นข้อมูลอ้างอิง

การอ้างอิง: ไฟล์คอนฟิกูเรชัน VM xml

ตรวจสอบให้แน่ใจว่าคุณแก้ไขไฟล์คอนฟิกูเรชัน VM xml ด้วย notepad / notepad ++ ที่เปิดอยู่ภายใต้สิทธิ์ผู้ดูแลระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.