מעקב אחרי ביצועי GPU במכונות וירטואליות של Windows

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

כשאתם יודעים את שיעורי השימוש ב-GPU, אתם יכולים לבצע משימות כמו הגדרה של קבוצות מנוהלות של מופעים שאפשר להשתמש בהן כדי לשנות את גודל המשאבים באופן אוטומטי.

כדי לבדוק את מדדי ה-GPU באמצעות Cloud Monitoring, פועלים לפי השלבים הבאים:

  1. בכל מכונה וירטואלית, מגדירים את סקריפט הדיווח על מדדי ה-GPU. הסקריפט הזה מתקין את סוכן הדיווח על מדדי ה-GPU. הסוכן הזה פועל במכונה הווירטואלית במרווחי זמן קבועים כדי לאסוף נתונים על ה-GPU, ושולח את הנתונים האלה ל-Cloud Monitoring.
  2. בכל מכונה וירטואלית, מריצים את הסקריפט.
  3. בכל מכונה וירטואלית, מגדירים את סוכן הדיווח של מדדי ה-GPU להפעלה אוטומטית בעת האתחול.
  4. צפייה ביומנים ב- Google Cloud Cloud Monitoring.

התפקידים הנדרשים

כדי לעקוב אחרי הביצועים של GPU במכונות וירטואליות של Windows, צריך להעניק את התפקידים הנדרשים בניהול זהויות והרשאות גישה (IAM) לגורמים הבאים:

  • חשבון השירות שבו נעשה שימוש במכונה הווירטואלית
  • חשבון המשתמש שלכם

כדי לוודא שלכם ולחשבון השירות של מכונת ה-VM יש את ההרשאות הנדרשות למעקב אחר הביצועים של ה-GPU במכונות VM של Windows, צריך לבקש מהאדמין להקצות לכם ולחשבון השירות של מכונת ה-VM את תפקידי ה-IAM הבאים בפרויקט:

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

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

הגדרת סקריפט לדיווח על מדדי GPU

דרישות

בכל מכונה וירטואלית, בודקים שאתם עומדים בדרישות הבאות:

הורדת הסקריפט

פותחים טרמינל ב-PowerShell כאדמין ומשתמשים בפקודה Invoke-WebRequest כדי להוריד את הסקריפט.

Invoke-WebRequest זמין ב-PowerShell 3.0 ואילך. ‫Google Cloud מומלץ להשתמש ב-ctrl+v כדי להדביק את בלוקי הקוד שהועתקו.

mkdir c:\google-scripts
cd c:\google-scripts
Invoke-Webrequest -uri https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-monitoring/main/windows/gce-gpu-monitoring-cuda.ps1 -outfile gce-gpu-monitoring-cuda.ps1

הפעלת הסקריפט

cd c:\google-scripts
.\gce-gpu-monitoring-cuda.ps1

הגדרת הסוכן להפעלה אוטומטית בזמן האתחול

כדי לוודא שהסוכן של דיווח מדדי ה-GPU מוגדר להפעלה בזמן אתחול המערכת, משתמשים בפקודה הבאה כדי להוסיף את הסוכן לתזמון המשימות של Windows.

$Trigger= New-ScheduledTaskTrigger -AtStartup
$Trigger.ExecutionTimeLimit = "PT0S"
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\google-scripts\gce-gpu-monitoring-cuda.ps1"
$settingsSet = New-ScheduledTaskSettingsSet
# Set the Execution Time Limit to unlimited on all versions of Windows Server
$settingsSet.ExecutionTimeLimit = 'PT0S'
Register-ScheduledTask -TaskName "MonitoringGPUs" -Trigger $Trigger -User $User -Action $Action -Force -Settings $settingsSet

בדיקת מדדים ב-Cloud Monitoring

  1. נכנסים לדף Metrics Explorer במסוף Google Cloud .

    כניסה ל-Monitoring

  2. מרחיבים את התפריט בחירת מדד.

  3. בתפריט Resource, בוחרים באפשרות VM Instance.

  4. בתפריט Metric category בוחרים באפשרות Custom.

  5. בתפריט מדד, בוחרים את המדד שרוצים להציג בתרשים. לדוגמה custom/instance/gpu/utilization.

  6. לוחצים על אישור.

    השימוש ב-GPU צריך להיראות כמו הפלט הבא:

    הפעלה של Cloud Monitoring.

מדדים זמינים

שם המדד תיאור

instance/gpu/utilization

אחוז הזמן במהלך תקופת הדגימה האחרונה שבה ליבה אחת או יותר פעלה ב-GPU.

instance/gpu/memory_utilization

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

instance/gpu/memory_total

הזיכרון הכולל של ה-GPU שהותקן.

instance/gpu/memory_used

הזיכרון הכולל שהוקצה על ידי הקשרים הפעילים.

instance/gpu/memory_used_percent

אחוז הזיכרון הכולל שהוקצה על ידי הקשרים הפעילים. הערך צריך להיות בין 0 ל-100.

instance/gpu/memory_free

סך הזיכרון הפנוי.

instance/gpu/temperature

טמפרטורת הליבה של ה-GPU במעלות צלזיוס (‎°C).

מה השלב הבא?