הגדרת מספר הליבות של ה־CPU של VMware לפי תקן המומלצים

כאשר מגדירים הגדרות מעבד עבור מכונה וירטואלית חדשה, ישנם מספר מושגים מרכזיים שכדאי להבין: איך לחשב את מספר ליבות המעבד לכל מעבד ואת ליבות המעבד לכל קופסה, וכיצד ההגדרות הללו משפיעות על מהירות המכונות הוירטואליות. בנוסף, חשוב להבין מה מבטיח ביצועים טובים יותר של מכונה וירטואלית: הגבלת מספר המעבדים והפעלת יותר ליבות מעבד או הפעלת יותר מעבדים עם פחות ליבות?

תמשיכו לקרוא כדי ללמוד על מושגים אלה ועל העקרונות הבסיסיים להגדרת מעבד עבור מכונות וירטואליות על מארחי ESXi.

מונחים

נתחיל עם הגדרות המונחים שמשמשות בעת הגדרת המעבד עבור מכונות וירטואליות. מונחים אלו יעזרו בהבנת מקור הפעולה ובמניעת תבלות בנוגע למספר הליבות לכל מעבד, ליבות המעבד לכל קופסה, ולמספר הליבות לעומת המהירות.

קופסת ה-MPU

A CPU Socket is a physical connector on the motherboard to which a single physical CPU is connected. A motherboard has at least one CPU socket. Server motherboards usually have multiple CPU sockets that support multiple multicore processors. CPU sockets are standardized for different processor series. Intel and AMD use different CPU sockets for their processor families.

מעבד

A CPU (central processing unit, microprocessor chip, or processor) is a computer component. It is the electronic circuitry with transistors that is connected to a socket. A CPU executes instructions to perform calculations, run applications, and complete tasks.

כאשר מהירות השעון של מעבדים התקרבה לסף החום, היצרנים שינו את ארכיטקטורת המעבדים והתחילו לייצר מעבדים עם מספר ליבות CPU מרובות. כדי למנוע תבלות בין מעבדים פיזיים למעבדים לוגיים או ליבות מעבד, יצרנים מסוימים מתייחסים למעבד פיזי כמקום מכני.

ליבת ה-MPU

A CPU core is the part of a processor containing the L1 cache. The CPU core performs computational tasks independently without interacting with other cores and external components of a “big” processor that are shared among cores. Basically, a core can be considered as a small processor built into the main processor that is connected to a socket. Applications should support parallel computations to use multicore processors rationally.

צמידות מקלות

היפר-טרידינג הוא טכנולוגיה שפותחה על ידי מהנדסי אינטל כדי להביא חישוב פרללי למעבדים שיש להם ליבה אחת. ההשקה הראשונית של היפר-טרידינג הייתה ב-2002 כאשר התוכנן מעבד Pentium 4 HT ונמצא לשימוש במחשבי שולחניים. מערכת ההפעלה זוהה כאשר מעבד עם ליבה יחידה עם היפר-טרידינג כמעבד עם שתי ליבות לוגיות (ולא ליבות פיזיות). באופן דומה, מעבד בעל ארבע ליבות עם היפר-טרידינג מופיע למערכת ההפעלה כמעבד עם 8 ליבות. ככל שיש יותר תהליכים פועלים על כל ליבה, ישנה יכולת גבוהה יותר לביצוע משימות בפרלליזם.

מעבדי אינטל מודרניים מצויידים גם במספר רב של ליבות והיפר-טרידינג. כללית ההפעלה של היפר-טרידינג מופעלת כברירת מחדל וניתן להפעיל או להשבית אותה ב-BIOS. תהליך המקבילות הרבה (SMT) של AMD הוא הדמיון להיפר-טרידינג למעבדים של AMD.

וירטואלי

A vCPU is a virtual processor that is configured as a virtual device in the virtual hardware settings of a VM. A virtual processor can be configured to use multiple CPU cores. A vCPU is connected to a virtual socket.

העלאת מעבד

העלאת מעבד היא הקצאת מעבדים לוגיים נוספים (ליבות מעבד של המארח הפיזי) ל-MVMs מעבר לסך הכל של מעבדים לוגיים הזמינים במארח הפיזי. העלאת המעבד מאפשרת גמישות ויעילות גבוהה יותר בשימוש במשאבים אך יכולה להוביל להפגת ביצועים אם הדרישה הכוללת חורגת מקיבולת המעבד הפיזית הזמינה.

NUMA

NUMA (לא-חדירת זיכרון אחידה) הוא עיצוב זיכרון מחשב המשמש במחשבי מעבד מרובים. הרעיון הוא לספק זיכרון נפרד עבור כל מעבד (בניגוד ל-UMA, שבו כל המעבדים גושרים זיכרון משותף דרך רכבת). בו זמנית, מעבד יכול לגשת לזיכרון ששייך למעבדים אחרים על ידי שימוש ברכבת משותפת (כל המעבדים גושרים זיכרון כלשהו במחשב). המעבד נהנה מיתרון ביצועים בכך שהוא יכול לגשת לזיכרון המקומי שלו במהירות יותר מהזיכרון האחר במחשב מרובה מעבדים.

ארכיטקטורות בסיסיות אלו משולבות במחשבי מעבד מרובים חדשים. המעבדים מקובצים על חבילת מעבד מרובת ליבות או צומת. המעבדים ששייכים לאותה צומת משתפים גישה למודולי זיכרון כמו בארכיטקטורת UMA. בנוסף, המעבדים יכולים לגשת לזיכרון מהצומת הרחוק באמצעות חיבור משותף. המעבדים עושים זאת לפי ארכיטקטורת NUMA אך עם ביצועים איטיים יותר. גישה זו לזיכרון מבוצעת דרך המעבד שברשותו הזיכרון ההוא ולא ישירות.

צמתי NUMA הם זוגות מעבד/זיכרון המורכבים מסוקט מעבד והמודולים הקרובים ביותר. NUMA נרגש בדרך כלל ב-BIOS כהפיכת צומת או הגדרת זיכרון משולב.

דוגמה: מארח ESXi כולל שני סוקטים (שני מעבדים) ו- 256 ג'יגה-בייט זיכרון. כל מעבד מכיל 6 ליבות מעבד. שרת זה מכיל שני צמתי NUMA. כל צומת NUMA מכיל סוקט מעבד אחד (מעבד אחד), 6 ליבות, ו- 128 ג'יגה-בייט זיכרון.

ESXi תמיד מנסה להקצות זיכרון ל-VM מצומת NUMA גורם (ביתי). צומת בית יכולה להשתנות באופן אוטומטי אם יש שינויים בעומסי VM ועומסי שרת ESXi.

vNUMA

מאגרי NUMA מדומה (vNUMA) היא האנלוג של NUMA למכונות וירטואליות של VMware. vNUMA צורפת משאבי חומרה של יותר מנוד פיזי NUMA אחד כדי לספק ביצועים אופטימליים. טכנולוגיית ה-vNUMA מחשפת את טופולוגיית ה-NUMA למערכת ההפעלה האורחת. כתוצאה, מערכת ההפעלה האורחת מודעת לטופולוגיית ה-NUMA התחתית לשימוש היעיל ביותר. גרסת החומרה הווירטואלית של מכונה וירטואלית חייבת להיות 8 או גבוהה יותר כדי להשתמש ב-vNUMA.

טיפול ב-vNUMA שופר משמעותית ב-VMware vSphere 6.5, ותכונה זו אינה נשלטת יותר על ידי ערך גרסאות הליבה לכינון בתצורת VM. כברירת מחדל, vNUMA מופעלת עבור מכונות וירטואליות שיש להן יותר מ-8 מעבדים לוגיים (vCPUs). ניתן להפעיל את vNUMA באופן ידני עבור מכונה וירטואלית על ידי עריכת קובץ התצורה VMX של המכונה והוספת השורה numa.vcpu.min=X, שבה X מייצג את מספר ה-vCPUs למכונה הווירטואלית.

חישוב מספר הליבות

בואו נמצא איך לחשב את מספר הליבות המעבד הפיזיות, הליבות המעבד הלוגיות ופרמטרים אחרים על שרת.

  • המספר הכולל של ליבות המעבד הפיזיות במכונת המארח מחושב עם הנוסחה:

    (מספר תקעי המעבד) x (מספר הליבות/מעבד) = מספר הליבות של המעבד הפיזי

    רק תקעי מעבד שבהם מותקנים מעבדים צריכים להתייחס.

  • אם תמיכה בהיפר-טרידינג קיימת, ניתן לחשב את מספר ליבות המעבד הלוגיות באמצעות הנוסחה:

    (מספר הליבות הפיזיות של המעבד) x (2 תהליכים לכל מעבד פיזי) = מספר המעבדים הלוגיים

  • לבסוף, ניתן להשתמש בנוסחה אחת כדי לחשב משאבי מעבד זמינים שניתן להקצות למכונות וירטואליות:

    (סוקטי מעבד) x (ליבות מעבד) x (תהליכים)

לדוגמה, אם יש לך שרת עם שני מעבדים כל אחד עם 4 ליבות ותומך בהיפר-טרידינג, אז מספר סה"כ של מעבדים לוגיים שניתן להקצות למכונות וירטואליות הוא:

2(מעבדים) x 4(ליבות) x 2(HT) = 16 מעבדים לוגיים

ניתן להקצות מעבד לוגי אחד כמעבד או ליבת מעבד אחת עבור מכונה וירטואלית בהגדרות ה-VM.

לגבי מכונות וירטואליות, בשל תכונות האמולציה של החומרה, הן יכולות להשתמש במספר מעבדים וליבות מעבד בהגדרתן לצורך הפעלה. ניתן להגדיר ליבה פיזית אחת כמעבד וירטואלי או ליבת מעבד וירטואלית עבור מכונה וירטואלית.

  • סה"כ מספר המחזורים בשעון הזמינים למכונה וירטואלית מחושב כך:

    (מספר הסוקטים הלוגיים) x (מהירות השעון של המעבד)

אם אתה מגדיר מכונה וירטואלית (VM) להשתמש ב-2 vCPUs עם 2 ליבות כאשר יש לך מעבד פיזי שעם מהירות השעון שלו היא 3.0 GHz, אז המהירות הכוללת היא 2x2x3=12 GHz. אם נעשה שימוש ב-overcommitment של המעבד במארח ESXi, התדר הזמין ל-VM יכול להיות פחות מהנחוש אם ה-VMs מבצעות משימות אינטנסיביות במעבד.

הגבלות לליבות המעבד לכל חריץ

ההגבלות של ה- CPU/core ב- vSphere 7.0 עדכון 1 ו-vSphere 8.0 מפורטות להלן.

  • המספר המרבי של תקני מעבד וירטואליים המוקצים ל-VM הוא 768. אם ברצונך להקצות יותר מ-768 תקני מעבד וירטואליים, הגדר את ה-VM להשתמש במעבדי ליבה מרובים.
  • המספר המרבי של ליבות מעבד שניתן להקצות ל-VM יחידה הוא 768. מכונה וירטואלית לא יכולה להשתמש ביותר ליבות מעבד מאשר מספר הליבות הלוגיות במכונה פיזית.
  • הוספת מעבד. אם ל-VM יש 128 vCPUs או פחות מ-128 vCPUs, אז אין אפשרות להשתמש בתכונת ההוספה החמה של המעבד (CPU hot add) עבור זו ולערוך את ההגדרות של המעבד של VM כאשר ה-VM נמצאת במצב הפעלה.הגבלות ה-OS למעבד. אם למערכת ההפעלה יש הגבלה על מספר המעבדים, ואתה מקצה יותר מעבדים וירטואליים ל-VM, המעבדים הנוספים אינם מזוהים ומשמשים על ידי מערכת ההפעלה האורח. הגבלות יכולות להיות תוצאה של עיצוב טכני של מערכת ההפעלה והגבלות רישיונות של מערכת ההפעלה. שים לב שישנן מערכות הפעלה שרישותיהן בהתבסס על תקציב ועל ליבת מעבד (לדוגמה, Windows Server 2019).
  • הגבלות CPU של מערכת ההפעלה. אם למערכת ההפעלה יש גבול על מספר המעבדים, ואתה מקצה יותר מעבדים וירטואליים למחשב הווירטואלי, המעבדים הנוספים אינם מזוהים ומשמשים על ידי מערכת ההפעלה המארחת. גבולות יכולים להתאפשר עקב עיצוב טכני של מערכת ההפעלה והגבלות רישיון מערכת ההפעלה. שים לב שיש מערכות הפעלה שמורשות לפי תא מעבד ולפי גרעין מעבד (לדוגמה, Windows Server 2019).

גבולות תמיכה CPU עבור כמה מערכות הפעלה:

  • Windows 10 Pro – 2 מעבדים
  • Windows 10 Home – 1 מעבד
  • Windows 10 Workstation – 4 מעבדים
  • Windows Server 2019 Standard/Datacenter – 64 מעבדים
  • Windows XP Pro x64 – 2 מעבדים
  • Windows 7 Pro/Ultimate/Enterprise – 2 מעבדים
  • Windows Server 2003 Datacenter – 64 מעבדים

אפשר לבדוק הגבלות התצורה עבור גרסת ה-vSphere המשמשת בסביבתך באתר האינטרנט של VMware.

המלצות לתצורה

עבור גרסאות vSphere ישנות יותר, אנו ממליצים להשתמש בתאי מעבדים במקום בגרעין מעבד בתצורת המחשב הווירטואלי. בהתחלה, �ייתכן שלא תראה הבדל משמעותי בין תאי מעבדים או גרעין מעבד בתצורת המחשב הווירטואלי לביצועים של המחשב הווירטואלי. היזהר מכמה תכונות תצורה שעושות הבדל. זכור על NUMA ו-vNUMA כאשר אתה שוקל להגדיר מספר רב של מעבדים וירטואליים (תאים) עבור מחשב וירטואל כדי לקבל ביצועים אופטימליים.

אם vNUMA אינו מותאם אוטומטית, העתק את מבנה NUMA של השרת הפיזי. הנה כמה המלצות עבור מכונות וירטואליות ב-VMware vSphere 6.5 ומעלה:

  • כשאתה מגדיר את מספר המעבדים הלוגיים (vCPUs) עבור מכונת וירטואלית, מוטב להעדיף את המבנה של גרעינים לחדר. המשך עד שהספירה עוברת את מספר גרעיני המעבד על צומת NUMA בודד בשרת ESXi. השתמש באותו ההיגיון עד שאתה עובר את כמות הזיכרון הזמינה על צומת NUMA בודד של השרת הפיזי ESXi
  • לפעמים, מספר המעבדים הלוגיים עבור הגדרת המכונה הוא יותר ממספר המעבדים הפיזיים על צומת NUMA בודד, או שכמות הזיכרון גדולה מכמות הזיכרון הכוללת הזמינה עבור צומת NUMA בודד. שקול לחלק את מספר המעבדים הלוגיים (vCPUs) בין מספר מינימלי של צמתי NUMA לשיפור הביצועים.
  • אל תקבע מספר מוזר של vCPUs אם מספר המעבדים או כמות הזיכרון עוברים מספר גרעיני המעבד. אותו דבר חל גם במקרה שכמות הזיכרון עוברת את כמות הזיכרון עבור צומת NUMA בודד בשרת פיזי.
  • אל תיצור מכונת וירטואלית שיש בה מספר גדול יותר של vCPUs ממספר גרעיני המעבדים הפיזיים בשרת הפיזי.
  • אם אינך יכול לבטל את vNUMA בגלל הדרישות שלך, אל תאפשר את תכונת ההוספה החיה של vCPU.

אם מערכת האורח ותוכנה אחרת המותקנת על מכונה וירטואלית מורשית באופן פרוססורי, הגדר את המכונה הווירטואלית כך שתשתמש במספר פחות של עיבודים עם יותר ליבות מעבד. לדוגמה, Windows Server 2012 R2 נרשם לפי תקן מקום יחיד, ו-Windows Server 2016 נרשם לפי תקן לפי מס מח באופן פרוססורי.

אם אתה משתמש ב-overcommitment של מעבד בתצורה של מכונות וירטואליות של VMware, שים לב לערכים אלה:

1:1 עד 3:1 – לא צפויות בעיות בהרצת מכונות וירטואליות

  • 3:1 עד 5:1 – מתבצעת דegrש בביצועים
  • 6:1 – הכינו את עצמכם לבעיות שנגרמות מדegrש ניכר בביצועים
  • Overcommitment של מעבד עם ערכים רגילים ניתן להשתמש בו בסביבות בדיקה ופיתוח ללא סיכון.

תצורת מכונות וירטואליות על מארחי ESXi

תחילה, קבע את מספר מעבדים לוגיים (מספר המעבדים) של המארח הפיזי שלך שנדרש למכונה וירטואלית לפעולה תקינה עם ביצועים מספקים. לאחר מכן הגדר את מספר תיקרות וירטואליות עם מעבדים (מספר התיקרות בלקוח vSphere) ואת מספר ליבות המעבד (ליבות לכל תיקרות) שצריך להגדיר עבור מכונה וירטואלית בהתבסס על ההמלצות וההגבלות הקודמות. הטבלה למטה יכולה לעזור לך לבחור את ההגדרה הנדרשת.

ראשית, קבע את מספר המעבדים הלוגיים (מספר ה-CPUs) של המארח הפיזי שלך הנדרשים למכונה וירטואלית לעבודה נכונה עם ביצועים מספקים. לאחר מכן, הגדר את מספר השקעים הווירטואליים עם מעבדים (מספר השקעים ב-vSphere Client) ואת מספר ליבות ה-CPU (ליבות לשקע) שאתה צריך להגדיר למכונה וירטואלית תוך שמירה על ההמלצות והמגבלות הקודמות. הטבלה שלהלן יכולה לעזור לך לבחור את התצורה הנדרשת.

אם אתה צריך להקצות יותר מ-8 מעבדים לוגיים למכונה וירטואלית, הלוגיקה נשארת זהה. כדי לחשב את מספר ה-CPUs הלוגיים ב-vSphere Client, הכפל את מספר השקעים במספר הליבות. לדוגמה, אם אתה צריך להגדיר מכונה וירטואלית לשימוש בשני שקעים למעבד, כל אחד עם שתי ליבות CPU, אז המספר הכולל של ה-CPUs הלוגיים הוא 2*2=4. המשמעות היא שעליך לבחור 4 CPUs באפשרויות החומרה הווירטואלית של המכונה הווירטואלית ב-vSphere Client כדי ליישם תצורה זו.

הגדרת ליבות לכל CPU ב-vSphere Client

בואו נסביר איך להגדיר אפשרויות CPU למכונה וירטואלית ב-VMware vSphere Client. הזן את כתובת ה-IP של שרת ה-vCenter שלך בדפדפן אינטרנט, ופתח את VMware vSphere Client. בניווט, פתח מארחים ואשכולות, ובחר את המכונה הווירטואלית הנדרשת שברצונך להגדיר. ודא שהמכונה הווירטואלית כבויה כדי שתוכל לשנות את תצורת ה-CPU. תהליך ההגדרה זהה ב-vSphere 6.x, 7.0, ו-8.0.

  1. לחץ לחיצה ימנית על המכונה הווירטואלית, ובתפריט ההקשר, לחץ על Edit Settings כדי לפתוח את הגדרות המכונה הווירטואלית.
  2. הרחב את הקטע מעבד בלשונית חומרה וירטואלית בחלון ערוך הגדרות.
  3. מעבד. לחץ על התפריט הנפתח בשורת המעבד, ובחר את המספר הכולל של מעבדים לוגיים הדרושים ל-VM זה. בדוגמה זו, אנו בוחרים 4 מעבדים לוגיים עבור ה-VM של אובונטו (blog-Ubuntu1).
  4. ליבות לכל שקע. בשורה זו, לחץ על התפריט הנפתח, ובחר את מספר הליבות הדרוש לכל שקע וירטואלי (מעבד).
  5. חיבור חם של מעבד. אם ברצונך להשתמש בתכונה זו, סמן את תיבת הסימון אפשר הוספת מעבד חם. זכור את ההגבלות והדרישות.

  6. הקצאה. בחר את ההקצאה המינימלית המובטחת של מהירות השעון של המעבד (תדר, MHz, או GHz) עבור מכונה וירטואלית על מארח ESXi או אשכול.
  7. מגבלה. בחר את מהירות השעון המקסימלית של מעבד VM. תדר זה הוא התדר המקסימלי עבור מכונה וירטואלית, גם אם ה-VM הזה הוא ה-VM היחיד שפועל על מארח ESXi או אשכול עם יותר משאבי מעבד חופשיים. המגבלה שנקבעה נכונה לכל המעבדים הווירטואליים של VM. אם ל-VM יש 2 מעבדים חד-ליבתיים, והמגבלה היא 1000 MHz, אז שני המעבדים הווירטואליים פועלים במהירות שעון כוללת של מיליון מחזורים לשנייה (500 MHz לכל ליבה).
  8. מניות. משתנה זה מגדיר את עדיפות צריכת המשאבים על ידי מכונות וירטואליות (נמוכה, רגילה, גבוהה, מותאמת אישית) במארח ESXi או ברכישת משאבים. בניגוד לפרמטרים של הזמנה ו־מגבלה, הפרמטר מניות מיושם רק עבור מכונה וירטואלית אם יש חוסר במשאבי CPU בתוך מארח ESXi, ברכישת משאבים או באשכול DRS.

    אפשרויות זמינות עבור הפרמטר מניות:

    • נמוכה – 500 מניות לעיבוד וירטואלי
    • רגילה – 1000 מניות לעיבוד וירטואלי
    • גבוהה – 2000 מניות לעיבוד וירטואלי
    • מותאם אישית – הגדרת ערך מותאם אישית

    ככל שערך המניות גבוה יותר, כך גם כמות המשאבים של ה־CPU שנמצאת לרשות המכונה הווירטואלית בתוך מארח ESXi או ברכישת משאבים.

  9. וירטואליזציה חומרה. סמן את תיבת הסימון זו כדי להפעיל וירטואליזציה מקוננת. אפשרות זו שימושית אם ברצונך להפעיל מכונה וירטואלית בתוך מכונה וירטואלית לצורך בדיקות או מטרות הוראה.
  10. מוניות ביצועים. מאפשר לאפליקציה המותקנת בתוך מכונה וירטואלית להיות נבדקת ומותקנת לאחר שמדדים את ביצועי ה-CPU.
  11. אפינות קידוד. אפשרות זו משמשת להקצאת מכונה וירטואלית למעבד מסוים. הערך המוזן עשוי להיות כמו זה: "0, 2, 4-7" .
  12. I/O MMU. This feature allows VMs to have direct access to hardware input/output devices such as storage controllers, network cards, and graphic cards (rather than using emulated or paravirtualized devices). I/O MMU is also called Intel Virtualization Technology for Directed I/O (Intel VT-d) and AMD I/O Virtualization (AMD-V). I/O MMU is disabled by default. Using this option is deprecated in vSphere 7.0. If I/O MMU is enabled for a VM, the VM cannot be migrated with vMotion and is not compatible with snapshots, memory overcommit, suspended VM state, physical NIC sharing, and NSX network virtualization.

אם אתה משתמש במארח ESXi בעצמו ומשתמש ב-VMware Host Client כדי להגדיר VM בדפדפן אינטרנט, עקרון ההגדרה זהה לזה של VMware vSphere Client.

הגדרת ליבות ל-CPU ב-VMware Workstation

אם אתה מתחבר לשרת vCenter או למארח ESXi ב- VMware Workstation ופותח את הגדרות ה-VM של VM vSphere, אפשר לערוך את הגדרות הבסיס של מעבדים וירטואליים.

  1. לחץ VM > הגדרות, בחר בכרטיסיית החומרה , ולחץ מעבדים.
  2. בחר את מספר המעבדים הווירטואליים (מבטיחים) ואת מספר הליבות לכל מעבד.

בצילום המסך הבא, תראה את הגדרות המעבד עבור אותה VM של Ubuntu שהוגדרה לפני כן ב-vSphere Client.

מספר הליבות הכולל (ליבות לוגיות של מעבדים פיזיים במארח או באשכול ESXi) מחושב ומוצג למטה אוטומטית. לעומת זאת, בממשק של vSphere Client, אתה מגדיר את מספר הליבות הכולל (אפשרות CPUs), בוחר את מספר הליבות לכל מעבד, ואז מספר החריצים הווירטואליים מחושב ומוצג. הגדרת המעבדים של VM ב-PowerCLI

קביעת תצורת מעבדים ל-VM ב-PowerCLI

אם אתה מעדיף להשתמש בממשק שורת הפקודה כדי להגדיר רכיבים של VMware vSphere, השתמש ב-PowerCLI כדי לערוך את קביעת תצורת המעבד של מכונות וירטואליות. בוא נבדוק כיצד לערוך את קביעת תצורת המעבד של VM אשר הוא Ubuntu 19 ב-PowerCLI. הפקודות נועדו למכונות וירטואליות שמכובות.

  1. כדי להגדיר VM לשימוש בשני מעבדים וירטואליים עם ליבה אחת (שתי שקעים וירטואליים), השתמש בפקודה:

    get-VM -name Ubuntu19 | set-VM -NumCpu 2

    הכנס מספר אחר אם אתה רוצה להגדיר מספר אחר של מעבדים (שקעים) ל-VM.

  2. בדוגמה הבאה, תראה כיצד להגדיר VM לשימוש בשני מעבדים וירטואליים עם שתי ליבות (שני שקעים):

    $VM=Get-VM -Name Ubuntu19

    $VMSpec=New-Object -Type VMware.Vim.VirtualMachineConfigSpec -Property @{ "NumCoresPerSocket" = 2}

    $VM.ExtensionData.ReconfigVM_Task($VMSpec)

    $VM | Set-VM -NumCPU 2

  • פעם שהגדרת מערכת מחשב חדשה מיושם למכונה וירטואלית, הגדרה זו נשמרת בקובץ התצורה VMX של המכונה הווירטואלית. במקרה שלנו, אנו בודקים את הקובץ Ubuntu19.vmx השוכן בספריית ה-VM ב- datastore (/vmfs/volumes/datastore2/Ubuntu19/). השורות עם ההגדרות החדשות של מערכת ה- CPU נמצאות בסוף קובץ ה- VMX.

    numvcpus = "2"

    cpuid.coresPerSocket = "2"

  1. אם עליך להפחית את מספר המעבדים (סוקטים) עבור VM, השתמש באותו פקודה כמו שמוצג למעלה רק עם כמות פחותה. לדוגמה, כדי להגדיר מעבד אחד (סוקט) עבור VM, השתמש בפקודה הזו:

    get-VM -name Ubuntu19 | set-VM -NumCpu 1

היתרון העיקרי של שימוש ב-PowerCLI הוא היכולת להגדיר מספר רב של VM בפעם אחת. אוטומציה של משימות היא חשובה ונוחה אם מספר המכונות הווירטואליות להגדרה הוא גבוה. השתמש בפקודות VMware ובתחביר של Microsoft PowerShell כדי ליצור סקריפטים.

מסקנה

ביצועי היישומים שרצים על מכונת וירטואלית תלויים בהגדרת ה-CPU והזיכרון הנכונה. ב-VMware vSphere 6.5 וגרסאות מאוחרות יותר, הגדר יותר ליבות ב-CPU עבור מכונות וירטואליות והשתמש בגישת הליבות המרובות לכל חיבור. אם אתה משתמש בגרסאות של vSphere ישנות יותר מ- vSphere 6.5, הגדר את מספר החיבורים מבלי להגדיל את מספר ליבות המעבד עבור VM עקב התנהגות שונה של vNUMA בגרסאות החדשות והישנות של vSphere. קח בחשבון את דגם הרישיון של התוכנה שאתה צריך להתקין על VM. אם התוכנה מורשית לפי מעבד, הגדר יותר ליבות ל-CPU בהגדרות VM. בשימוש במכונות וירטואליות ב-VMware vSphere, אל תשכח להשתמש בכלי גיבוי של VMware. השתמש ב-Nakivo Backup & Replication כדי לגבות את המכונות הווירטואליות שלך, כולל VMs שיש להם מספר ליבות מרובות למעבד. גיבוי רגיל עוזר לך להגן על הנתונים שלך ולשחזר אותם במקרה של אסון.

Source:
https://www.nakivo.com/blog/the-number-of-cores-per-cpu-in-a-virtual-machine/