הגדרת מגבלות זיכרון לעבודות

אתם יכולים לבחור את נפח הזיכרון שיוקצה לעבודת Cloud Run. בדף הזה מוסבר איך מציינים את כמות הזיכרון שזמינה לעבודה.

הסבר על השימוש בזיכרון

מכונות של Cloud Run שחורגות ממגבלת הזיכרון המותרת שלהן מופסקות.

הזיכרון שזמין למופע צריך להיות מספיק בשביל:

  • הפעלת קובץ ההפעלה של העבודה, כי קובץ ההפעלה צריך להיטען לזיכרון
  • הקצאת זיכרון בתהליך של עבודות
  • כתיבת קבצים למערכת הקבצים

גודל קובץ אימג' של קונטיינר שפריסתו בוצעה לא משפיע על הזיכרון שזמין למופע.

הגדרה ועדכון של מגבלות זיכרון

אפשר להגדיר מגבלות זיכרון למשימות ב-Cloud Run. כברירת מחדל, הזיכרון שמוקצה לכל משימה הוא ‎512 MiB.

הזיכרון הנדרש כשמגדירים ערך של מעבד

כשמגדירים ערך של מעבד, נדרש הזיכרון הבא:

מעבדים (CPU) הזיכרון הנדרש
‫1 vCPU ‫128MiB עד 4GiB
‫2 vCPU ‫128MiB עד 8GiB
‫4 vCPU ‫2GiB עד 16GiB
‫6 vCPU ‫4 עד 24 גיגה-בייט
‫8 vCPU ‫4 עד 32GiB

כמות הזיכרון המקסימלית

הכמות המקסימלית של הזיכרון שאפשר להגדיר היא 32 גיביבייט (32 Gi).

זיכרון מינימלי

נפח הזיכרון המינימלי שאפשר להגדיר בסביבת ההפעלה של דור שני הוא 512MiB.

שיקולי עלות

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

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

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

למידע נוסף, אפשר לעיין בתמחור של Cloud Run או להשתמש במחשבון התמחור כדי להעריך את העלויות.

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

כדי לקבל את ההרשאות שדרושות להגדרת משימות Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם עבודת Cloud Run שלכם מתקשרת עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרת מגבלות זיכרון

צריך לציין לפחות 512Mi לעבודת Cloud Run. כדי לציין את הזיכרון לעבודת Cloud Run:

המסוף

  1. נכנסים לדף Jobs ב-Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. לוחצים על Deploy container (פריסת מאגר תגים) כדי למלא את דף ההגדרות הראשוניות של המשימה. אם מגדירים משימה קיימת, בוחרים את המשימה ולוחצים על View and edit job configuration (הצגה ועריכה של הגדרת המשימה).

  3. לוחצים על Container(s), Volumes, Connections, Security (מאגרי נתונים, אמצעי אחסון, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.

  4. לוחצים על הכרטיסייה מאגר תגים.

    תמונה

    • בוחרים את גודל הזיכרון הרצוי מהרשימה הנפתחת זיכרון.
  5. לוחצים על יצירה או על עדכון.

gcloud

  1. כדי להגדיר מגבלות זיכרון כשיוצרים משימה:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --memory SIZE

    מחליפים את:

    • JOB_NAME בשם של המשימה.
    • IMAGE_URL: הפניה לקובץ אימג' של קונטיינר, לדוגמה us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE עם גודל הזיכרון הרצוי. הפורמט של הגודל הוא מספר קבוע או מספר עם נקודה צפה, ואחריו יחידה: G או M, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שימוש במקבילות של חזקות של 2: Gi או Mi, שמתאימות לגיבי-בייט או למבי-בייט בהתאמה.
  2. כדי להגדיר מגבלות זיכרון כשמעדכנים עבודה:

    gcloud run jobs update JOB_NAME --memory SIZE

YAML

  1. אם אתם יוצרים משרה חדשה, דלגו על השלב הזה. אם אתם מעדכנים משימה קיימת, אתם צריכים להוריד את הגדרת ה-YAML שלה:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. מעדכנים את המאפיין memory:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                memory: SIZE

    מחליפים את SIZE בגודל הזיכרון הרצוי, ומציינים מינימום של ‎512Mi. הפורמט הוא מספר נקודה קבועה או צפה, ואחריו יחידה: G או M, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים בחזקת 2: ‏ Gi או Mi, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.

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

  3. מעדכנים את ההגדרה הקיימת של העבודה:

    gcloud run jobs replace job.yaml

Terraform

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

מוסיפים את השורות הבאות למשאב google_cloud_run_v2_job בקובץ התצורה של Terraform:

resource "google_cloud_run_v2_job" "default" {
  name     = "cloudrun-job"
  location = "REGION"
  deletion_protection = false

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        resources {
          limits = {
            cpu    = "2"
            memory = "SIZE"
          }
        }
      }
    }
  }
}

מחליפים את:

  • REGION עם האזור Google Cloud . לדוגמה: europe-west1.
  • SIZE עם גודל הזיכרון הנדרש, ומציינים מינימום של ‎512Mi. הפורמט הוא מספר נקודה קבועה או צפה, ואחריו יחידה: G או M, שמתאימות לגיגה-בייט או למגה-בייט בהתאמה, או שמשתמשים בערכים המקבילים בחזקת 2: ‏ Gi או Mi, שמתאימים לגיבי-בייט או למבי-בייט בהתאמה.

הצגת הגדרות של מגבלת הזיכרון

כדי לראות את הגדרות מגבלת הזיכרון הנוכחיות של משימת Cloud Run:

המסוף

  1. במסוף Google Cloud , נכנסים לדף Cloud Run jobs:

    כניסה לדף Cloud Run jobs

  2. לוחצים על המשרה שמעניינת אתכם כדי לפתוח את הדף פרטי המשרה.

  3. לוחצים על View and Edit job configuration (הצגה ועריכה של הגדרות העבודה).

  4. מאתרים את הגדרת מגבלת הזיכרון בפרטי ההגדרה.

gcloud

  1. משתמשים בפקודה הבאה:

    gcloud run jobs describe JOB_NAME
  2. מחפשים את הגדרת מגבלת הזיכרון בהגדרה שמוחזרת.