ชื่อเรื่องสวยมากพูดทุกอย่าง ฉันแค่สงสัยว่าสิ่งนี้สร้างความแตกต่างในวิธีที่ VMs จะประมวลผลสิ่งต่าง ๆ หรือไม่และถ้าวิธีหนึ่งเป็นที่นิยมมากกว่าวิธีอื่น
ชื่อเรื่องสวยมากพูดทุกอย่าง ฉันแค่สงสัยว่าสิ่งนี้สร้างความแตกต่างในวิธีที่ VMs จะประมวลผลสิ่งต่าง ๆ หรือไม่และถ้าวิธีหนึ่งเป็นที่นิยมมากกว่าวิธีอื่น
คำตอบ:
ไม่ VM ของคุณควรทำงานเหมือนกันและจะใช้ทรัพยากรเดียวกันกับโฮสต์ เป็นเพียงตัวเลือกการออกแบบที่เพิ่มเข้ามาเพื่อเพิ่มความยืดหยุ่นในการที่ระบบปฏิบัติการหรือซอฟต์แวร์ของคุณอาจมีต่อข้อกำหนดการอนุญาตให้ใช้งาน CPU
แต่ละซ็อกเก็ต / คอร์จะแสดงหนึ่งฟิสิคัลคอร์บนโฮสต์ โปรดจำไว้ว่าแกนเพิ่มเติมไม่ได้เป็นสิ่งที่ดีโดยอัตโนมัติเนื่องจากข้อกำหนดการตั้งเวลา
วัตถุประสงค์หลักของตัวเลือกคอร์ / ซ็อกเก็ตคือการให้ความยืดหยุ่นกับซอฟต์แวร์ที่อาจมีความต้องการรันไทม์หรือการออกใบอนุญาตตามจำนวนซ็อกเก็ต "ฟิสิคัล" หรือคอร์ CPU
ในขณะที่มีความแตกต่างในการทำงานระหว่างหลายแกนหนึ่งซ็อกเก็ตเมื่อเทียบกับการรวมกันของซ็อกเก็ตหลายไม่มีISความแตกต่างเล็กน้อยในการดำเนินการถ้าคุณเปิดใช้งานหรือต้องมีคุณลักษณะ CPU ร้อนเพิ่มของเครื่องเสมือน
ด้วยคุณลักษณะเพิ่มร้อนแรงของ VMware CPU คุณสามารถเพิ่มซ็อกเก็ตลงใน VM ที่รันอยู่ แต่ไม่สามารถเพิ่มคอร์เพิ่มเติมได้ แปลกอย่างที่เห็นนี่เป็นสิ่งที่ฉันใช้ในการผลิตในที่ทำงานและมีอิทธิพลต่อวิธีที่ฉันกำหนดค่า VM ใหม่
โดยทั่วไปการพูดจะทำให้ประสิทธิภาพการทำงานแตกต่างกันเล็กน้อยหรือไม่มีเลย
ระบบปฏิบัติการที่ซับซ้อนเพียงพออาจเปลี่ยนแปลงการจัดตารางเวลาฮิวริสติก (การรักษาเธรดที่เกี่ยวข้องอย่างใกล้ชิดบนแกนในแพ็คเกจเดียวกันเช่นด้วยการออกแบบชิปบางตัวสามารถเพิ่มประสิทธิภาพของวิธีการใช้แคชที่ใช้ร่วมกันระหว่างแกนหลัก) ขึ้นอยู่กับการจัดเรียงซ็อกเก็ต และแกน ในการเซ็ตอัพแบบเสมือนจริงความแตกต่างใด ๆ นั้นไม่สำคัญหรือแสดงผลอย่างสมบูรณ์เนื่องจากการที่ไฮเปอร์ไวเซอร์กำหนดเวลาการเข้าถึง CPU สำหรับแขก VMs เว้นแต่ว่าไฮเปอร์ไวเซอร์ค่อนข้างฉลาดเกี่ยวกับการกำหนดเวลาหลักระหว่าง / ภายใน VMs ด้วย
ดังที่ Dan ชี้ให้เห็นคุณควรทำเครื่องหมายมาตรฐานงานของคุณ (ในลักษณะที่เป็นจริง: เช่นกับกิจกรรมอื่น ๆ บนโฮสต์ไม่ใช่แค่ในสภาพแวดล้อมการทดสอบที่ VM ที่เป็นปัญหานั้นทำงานเพียงครั้งเดียว) เพื่อให้แน่ใจว่า vCores / vCPUs / ทั้งสอง เป็นประโยชน์ต่อการปฏิบัติงานจริง การกำหนดเวลาในการเข้าถึงคอร์สามารถแนะนำการหน่วงเวลาที่ล้างผลประโยชน์ใด ๆ และในความเป็นจริงทำให้ทุกอย่างช้าลงโดยรวม - ฉันเคยเห็นรายงานที่ว่างานที่มี CPU สำคัญทำงานเป็นฟาร์มขนาดเล็กของแกนเดี่ยว VMs บนโฮสต์เดียวกัน ฮาร์ดแวร์เดียวกันกับจำนวนที่น้อยกว่า (โดยที่ "จำนวนน้อยกว่า 2 รวมหนึ่ง) VM แบบมัลติคอร์ (แม้ว่าแน่นอนว่ามีแนวโน้มที่จะกำหนดให้โหลดหน่วยความจำมากกว่าบนโฮสต์)