เมื่อฉันใช้เวิร์กสเตชัน VMware ฉันสามารถตั้งค่า VM ด้วยหลายคอร์ จริง ๆ แล้วฉันใช้มันกับเครื่องที่มีคอร์สองแกนและแกนตรรกะ 4 แกน ดังนั้นฉันจะปรับปรุงประสิทธิภาพ VMS โดยใช้แกนเพิ่มเติมบน VM หรือไม่
เมื่อฉันใช้เวิร์กสเตชัน VMware ฉันสามารถตั้งค่า VM ด้วยหลายคอร์ จริง ๆ แล้วฉันใช้มันกับเครื่องที่มีคอร์สองแกนและแกนตรรกะ 4 แกน ดังนั้นฉันจะปรับปรุงประสิทธิภาพ VMS โดยใช้แกนเพิ่มเติมบน VM หรือไม่
คำตอบ:
มันขึ้นอยู่กับสิ่งที่ VM กำลังทำงานแขกบนเครื่องที่มีจำนวนแกนจะทำงานได้ดีที่สุดที่ n-1 คอร์ที่ได้รับมอบหมายตราบใดที่แขกสามารถใช้ประโยชน์หลาย CPU ได้อย่างมีประสิทธิภาพ น่าเสียดายที่วิธีที่ง่ายที่สุดในการพิจารณาว่าจะลองทำและดู ฉันมักจะเริ่มต้นด้วย 2 และหยุดเมื่อฉันหมดประสิทธิภาพการทำงานเพิ่มขึ้น โดยทั่วไป 2 คอร์คือที่ที่ฉันเห็น "จุดหวาน" ชุดแอป / ระบบปฏิบัติการไม่กี่อันที่ฉันเคยใช้จะปรับให้ดีกว่านั้น
เพื่ออธิบายให้ชัดเจนคุณกำลังบอกว่าคุณมีซีพียูแบบดูอัลคอร์และคุณได้กำหนดซีพียูเสมือน 4 ตัวบน VM แล้วหรือยัง
ในกรณีนี้ไม่มี หากคุณกำหนด vCPU มากกว่าที่คุณมีแกนประมวลผลทางกายภาพคุณจะเห็นประสิทธิภาพลดลงเล็กน้อยเนื่องจากค่าใช้จ่ายในการแบ่งปัน 2 ฟิสิคัลคอร์ระหว่าง 4 คอร์เสมือน (รวมทุกอย่างที่ทำงานบนโฮสต์ฟิสิคัล)
คุณจะเห็นประสิทธิภาพที่ดีที่สุดจาก VM โดยกำหนดให้เป็น 2 vCPU
เราได้ทดลองเมื่อไม่นานมานี้ ( ดูคำถามของฉันเมื่อหนึ่งปีก่อน ) ด้วยการกำหนด vCPU จากแกนประมวลผลเชิงกายภาพเทียบกับแกนตรรกะ (เธรด) ใน CPU แบบ quad-core ที่มีไฮเปอร์เธรด (8 vCPU ที่กำหนดได้ ตามคำตอบที่ฉันได้แนะนำไปแล้ว - และประสบการณ์ของเราเบื่อ - คุณควรจัดสรรจำนวนขั้นต่ำของคอร์ที่คุณสามารถให้แขกแต่ละคนเพื่อให้มันดำเนินการได้
เมื่อกำหนด vCPU มากกว่าคอร์ฟิสิคัลที่มีอยู่บนโฮสต์หากแขกอยู่ภายใต้โหลดไฮเปอร์เธรดพร้อมกันไม่ได้เร็วพอที่จะสลับบริบทของ CPU ระหว่างเธรดเพื่อจำลอง CPU อื่นอย่างมีประสิทธิภาพ สิ่งนี้สามารถนำไปสู่สิ่งที่น่ารังเกียจมากสำหรับแขกทุกคนรวมถึงการล็อคและการหมดเวลาที่ต้องทำการรีบูต fsck และแย่กว่านั้นในกองซ้อน แม้ว่าสิ่งนี้จะไม่เกิดขึ้นการแสดงมักจะช้ากว่าสำหรับแขกมากกว่าจะเร็วกว่า
เมื่อ @Chris S ใส่ไว้ในความคิดเห็นของเขาแล้ว "จัดสรรให้น้อยที่สุดเท่าที่จะทำได้และคุณจะหลีกเลี่ยงอาการปวดหัวครั้งใหญ่"