ฉันควรกำหนดตัวประมวลผลหรือแกนประมวลผลเสมือนให้กับ Guest OS ของฉันเป็นจำนวนเท่าใด [ปิด]


8

ฉันเพิ่งได้รับเครื่องโฮสต์ที่อัปเกรดแล้วและกำลังมองหาที่จะผลักดันความก้าวหน้าเหล่านั้นไปยังเวิร์กสเตชันของฉันระบบปฏิบัติการทั่วไป โดยเฉพาะอย่างยิ่งฉันเคยมีหน่วยประมวลผลเดียวโดยมี 2 คอร์ดังนั้น Guest OS ของฉันจึงมี 1/1 เท่านั้น

ตอนนี้ฉันมีโปรเซสเซอร์ตัวเดียวที่มี 8 คอร์ดังนั้นฉันอยากรู้ว่าจะแนะนำอะไรให้แขกระบบปฏิบัติการของฉันตอนนี้

  • โปรเซสเซอร์ 1 ตัว / 4 คอร์?
  • โปรเซสเซอร์ 2 ตัว / 2 คอร์?
  • โปรเซสเซอร์ 4 ตัว / 1 คอร์?

สัญชาตญาณของฉันบอกว่าจะติดกับจำนวนตัวประมวลผลทางกายภาพ (หรือน้อยกว่า) แต่มันขึ้นอยู่กับความเป็นจริงหรือไม่? ฉันใช้เวลาไปกับการหาคำตอบ แต่บางที google-karma ของฉันก็ไม่ได้เป็นที่โปรดปรานในวันนี้


แขกของคุณกำลังใช้ความสามารถในการประมวลผลที่มันมีอยู่หรือไม่?
OldWolf

ลิงค์นี้อาจมีประโยชน์โดยแนะนำให้คุณจับคู่การกำหนดค่าของคุณกับการกำหนดค่า NUMA ของโฮสต์
เกล็น

คำตอบ:


4

ในการทดสอบของฉันเองกับ VMWare Workstation โดยใช้การทดสอบ GeekBench 3, 64- บิตล่าสุดบนเครื่องโฮสต์ที่มี 1 cpu, 2 คอร์ (เมื่อเปิด HT ดังนั้น 4 คอร์):

ระบบโฮสต์:

  • 2866 คะแนนคอร์เดียว, 5939 คะแนนแบบมัลติคอร์

เสมือนจริง:

  • 1 cpu, 1 core: 2783 sc, 2705 mc
  • 1 cpu, 2 คอร์: 2758 sc, 4271 mc
  • 1 cpu, 3 แกน: 2783 sc, 5234 mc
  • 1 cpu, 4 cores: 2769 sc, 5793 mc

อย่างน้อยในการทดสอบของฉันดูเหมือนว่ามีประโยชน์ในการตั้งค่าจำนวนแกนของคุณเสมือนเพื่อให้ตรงกับแกนทางกายภาพของคุณ บางทีฉันผิด ฉันชอบที่จะพูดคุย


การวิจัยที่ยอดเยี่ยม! ขอบคุณ คุณช่วยขยายการวิจัยนี้ให้ครอบคลุมตัวเลือกอื่น ๆ ที่ฉันเน้นไว้ในโพสต์ต้นฉบับได้ไหม เช่นเดียวกับระบบ 2/2 และ 4/1 เสมือน (ระบุว่า 1/4 out ดำเนินการตั้งค่า 1 / 4-) หรือไม่ นั่นเป็นคำถามที่แท้จริง หากคุณไปที่ 1/4, 2/2 หรือ 4/1 (สมมติว่าคุณกำลังจะมี 4 แกนเสมือนโดยรวม) นอกจากนี้ฉันจะยอมรับว่าฉันไม่เข้าใจความแตกต่างของ "คะแนนแกนเดี่ยว" และ "คะแนนแบบ multi-core" ในแต่ละตัวอย่างของคุณ เครื่อง 1cpu / 1core สามารถรับคะแนนแบบมัลติคอร์ได้อย่างไร? เหมือนกันสำหรับ 1cpu / 4core สถานการณ์ในสิ่งที่ตรงกันข้าม ....
reidLinden

2

ฉันไม่รู้ว่าข้อมูลนี้ยังคงถูกต้องหรือไม่ แต่ในอดีตที่ผ่านมาไม่นานมานี้ซีพียูแขกเพิ่มเติมไม่ได้ปรับขนาดเช่นเดียวกับซีพียูโฮสต์ที่ทำ ในความเป็นจริงคำแนะนำที่ดีที่สุดคืออยู่กับซีพียูเดี่ยวในการกำหนดค่าแขกของคุณเว้นแต่คุณจะทำการทดสอบ / แก้ไขจุดบกพร่องซอฟต์แวร์มัลติเธรดในแขกของคุณโดยเฉพาะและต้องการสภาพแวดล้อม SMP

แก้ไข: คำตอบนี้มีเฉพาะการจำลองเสมือนบนเดสก์ท็อปไม่ใช่การจำลองเสมือนสำหรับเซิร์ฟเวอร์


ดังนั้นคุณกำลังพูดว่า 1 โปรเซสเซอร์มีแกนเดียวหรือไม่
reidLinden

ใช่. VMware เวิร์กสเตชันอนุญาตสำหรับการตั้งค่าเหล่านั้นอย่างอิสระหรือไม่? ฉันไม่ได้ใช้มันตั้งแต่ ver 6 และมันเป็นเพียง # ของ CPU หากคุณกำลังจะทำ multi-core / multi-CPUs ในแขกของคุณฉันสงสัยว่ามันสำคัญมากสำหรับวิธีที่คุณปรับขนาดสิ่งต่าง ๆ ยกเว้นว่าจะมีการพิจารณาสิทธิ์ใช้งาน (# ของ "ซ็อกเก็ต" เทียบกับ "แกน") เช่น XP Home อนุญาตให้ใช้ 1 ซ็อกเก็ตเท่านั้น แต่สูงสุด 4 คอร์ในขณะที่ XP Pro อนุญาตให้ใช้ 2 ซ็อกเก็ต
afrazier

ใช่ฉันดูเหมือนจะมีตัวเลือกให้เลือก "# โปรเซสเซอร์" และ "# cores" อย่างอิสระ ... เครื่องโฮสต์ของฉันมี 1 โปรเซสเซอร์ที่มี 8 คอร์บน windows7 Professional และ guestOS หลัก (ของฉัน) คือ windows server 2003 ..
reidLinden

0

อย่างมากฉันให้แขกของฉัน OS 2 แกน ไม่สำคัญว่าคุณจะใช้โปรเซสเซอร์ 1 คอร์ 2 คอร์หรือโปรเซสเซอร์ 2 คอร์แต่ละคอร์ การตั้งค่า procesor มีไว้เพื่อเหตุผลด้านความเข้ากันได้ ตัวประมวลผล / คอร์ไม่ได้ปรับขนาดได้ดีสำหรับระบบปฏิบัติการของผู้เยี่ยมชมเนื่องจากการกำหนดตารางกระบวนการ / ตัวประมวลผลหลัก 2 แกนดูเหมือนจะเป็นจุดที่น่าสนใจ


คุณต้องการหลีกเลี่ยงการมีหนึ่งโปรเซสเซอร์และหนึ่งคอร์สำหรับ VM เพราะหากการดำเนินการใด ๆ ที่ระบบปฏิบัติการโฮสต์ไม่คาดว่าจะบล็อกบล็อกโดยไม่คาดหมายในโฮสต์ VM ทั้งหมดจะถูกบล็อก
David Schwartz

0

ณ จุดนี้มีความแตกต่างเล็กน้อย ในบางกรณีการให้ไลเซนส์ซอฟต์แวร์อาจขึ้นอยู่กับแกนประมวลผลหรือซีพียู

จำลองเสมือน: 1 cpu, 1 core: 2783 sc, 2705 mc 1 cpu, 2 แกน: 2758 sc, 4271 mc 1 cpu, 3 แกน: 2783 sc, 5234 mc 1 cpu, 4 cores: 2769 sc, 5793 mc ดังนั้นอย่างน้อย ในการทดสอบของฉันดูเหมือนว่ามีประโยชน์ในการตั้งค่าจำนวนแกนของคุณเสมือนเพื่อให้ตรงกับแกนทางกายภาพของคุณ บางทีฉันผิด ฉันชอบที่จะพูดคุย

นี่เป็นเพียงเกณฑ์มาตรฐานที่ใช้คอร์ทั้งหมด แอปพลิเคชั่นส่วนใหญ่ไม่ได้ปรับประสิทธิภาพเป็นเส้นตรงด้วยการนับคอร์เนื่องจากมันไม่ได้ใช้คอร์เพิ่มเติม

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

ในสภาพแวดล้อมที่ฉันจัดการเรามีซีพียูคู่ 10 คอร์ที่มีเธรดโลจิคัล 40 เธรดและตัวควบคุมโดเมนของฉันยังคงได้รับสองคอร์เท่านั้น


-2

ฉันค่อนข้างตกใจว่าคำถามที่พบบ่อยเหล่านี้ยังไม่ได้รับคำตอบอย่างสมบูรณ์ในขณะนี้ โฮสต์ CPU ของคุณควรรองรับเทคโนโลยีการจำลองเสมือนบางอย่างเช่น Intel VTx ที่ช่วยให้คุณ "อุโมงค์" พลังทั้งหมดของซีพียูในระบบปฏิบัติการแขกของคุณ มิฉะนั้นจะมีความเร็วลดลงอย่างมากเนื่องจากการจำลองของ CPU หากคุณมีซีพียูที่มีไฮเปอร์เธรดคุณควรเห็นโปรเซสเซอร์ 8 ตัวสำหรับซีพียูแบบ quad-core ในตัวจัดการอุปกรณ์ของเครื่องโฮสต์ (ไฮเปอร์เธรดเพิ่มจำนวนแกนประมวลผลของคุณเป็นสองเท่า) ในกรณีนั้นคุณสามารถกำหนดโปรเซสเซอร์ 1 ตัวที่มี 4 คอร์สำหรับระบบปฏิบัติการเกสต์ของคุณ ตราบใดที่คุณไม่มีตัวประมวลผลทางกายภาพอื่น ๆ ในระบบของคุณอย่ากำหนดตัวประมวลผลมากกว่า 1 ตัวให้กับเครื่องเสมือนของคุณ คุณสามารถกำหนดคอร์มากขึ้นหรือน้อยลงให้กับระบบปฏิบัติการแขกของคุณขึ้นอยู่กับความต้องการของคุณ แต่คุณไม่ควร ไม่กำหนดค่าที่สูงกว่าแกนประมวลผลไฮเปอร์เธรดของคุณ แต่โปรดทราบว่าโฮสต์ของคุณยังต้องการพลังงานของ CPU ฉันมักจะตั้งค่าจำนวนแกนของไฮเปอร์เธรดเธรดของฉันครึ่งหนึ่งและหน่วยความจำครึ่งจำนวนเช่น 8192 MB เมื่อคุณมี RAM ขนาด 16 กิกะไบต์ นี่คือการตั้งค่าที่ดีที่จะไป แต่ไม่ใช่ถ้าคุณต้องการเรียกใช้เครื่องเสมือนมากกว่าหนึ่งเครื่องในแต่ละครั้ง

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