בוחרים את פריסת אופרטור AlloyDB Omni שרוצים לנתח. אופרטור AlloyDB Omni כולל שני פריסות, ואפשר לנתח את ערימת הזיכרון של כל אחת מהן. כדי לזהות את שני הפריסות, מריצים את הפקודה הבאה:
kubectl get deployment -n alloydb-omni-systemהפלט מציג את שני הפריסות במרחב השמות
alloydb-omni-system:fleet-controller-managerlocal-controller-manager
אפשר לקבל את ערימת הזיכרון של כל אחד מהפריסות. למטרות הדגמה, השלבים האלה מראים איך לקבל את ערמת הזיכרון של הפריסה
local-controller-manager.כדי להפעיל את ניתוח הזיכרון, צריך לציין יציאה זמינה לשימוש. אחרי שמציינים את היציאה, ה-pod מופעל מחדש. כדי לציין יציאה זמינה, משתמשים בארגומנט
pprof-addressבפריסה:מריצים את הפקודה הבאה כדי לפתוח את הפריסה בכלי לעריכת טקסט:
kubectl edit -n alloydb-omni-system deploy local-controller-managerמציינים את היציאה ב-
argsשל הקטעcontainerבתבניתspec:apiVersion: apps/v1 kind: Deployment spec: ... template: ... spec: containers: - args - --pprof-address=:PORTשומרים את קובץ הפריסה. אחרי ששומרים את קובץ הפריסה, ה-pod מופעל מחדש.
לפני שממשיכים לשלב הבא, מחכים שה-pod יופעל מחדש.
כדי לוודא שה-pod הופעל מחדש, מריצים את הפקודה הבאה:
kubectl get pod -n alloydb-omni-systemמוודאים שערך הפלט בעמודה
STATUSשל ה-Pod הואRunningוערך הפלט בעמודהAGEהוא משך זמן קצר. לדוגמה, אם בעמודהSTATUSמופיע הערךRunningובעמודהAGEמופיע הערך50s, ה-pod פועל במשך 50 שניות אחרי ההפעלה מחדש.מפעילים את העברת היציאות באמצעות הפקודה הבאה:
kubectl port-forward -n alloydb-omni-system DEPLOYMENT_POD_NAME PORT:PORTמחליפים את DEPLOYMENT_POD_NAME בשם של הפריסה, כמו שהוא מופיע בעמודה
NAMEבפלט של הפקודה הבאה:kubectl get pod -n alloydb-omni-systemבטרמינל אחר, מריצים את הפקודה הבאה כדי ליצור קובץ עם תמונת מצב של ערימת הזיכרון של הפריסה:
curl http://localhost:PORT/debug/pprof/heap > heap.outשומרים את הקובץ
heap.outומשתמשים בו כדי להציג את ערימת הזיכרון של פריסת אופרטור AlloyDB Omni שבחרתם לנתח.כדי להשבית את ניתוח הזיכרון, מסירים את הארגומנט
pprof-addressעם היציאה שבה השתמשתם מהפריסה:פותחים את הפריסה בכלי לעריכת טקסט:
kubectl edit -n alloydb-omni-system deploy local-controller-managerמסירים את השורה של היציאה
--pprof-address=:PORTמהקטעargsשלcontainerבתבניתspecשהוספתם קודם.
המאמרים הבאים
- ניהול ומעקב אחרי AlloyDB Omni
- יצירה ואבחון של קובצי dump ב-AlloyDB Omni
- מידע על ניהול זיכרון אוטומטי