תיעוד עקבות של שיחות במערכת

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

ארגז החול של הקונטיינר לא תומך בכל קריאות המערכת שנתמכות ב-Linux. אפשר להשתמש בכלים למעקב אחר קריאות מערכת, כמו strace (Linux) או dtruss (macOS), כדי לבדוק קריאות מערכת שבוצעו על ידי האפליקציה ולא נתמכות על ידי ארגז החול.

שימוש ב-strace (Linux)

אם אתם מריצים את הקוד ב-Linux, צריך להתקין ולהפעיל את strace:

sudo apt-get install strace

מריצים את האפליקציה עם strace על ידי הוספת strace -f לפני ההפעלה הרגילה, כאשר -f מציין מעקב אחרי כל השרשורים של הצאצא. לדוגמה, אם בדרך כלל מפעילים את האפליקציה באמצעות ./main, אפשר להפעיל אותה באמצעות strace על ידי הפעלת /usr/bin/strace -f ./main.

צפייה ביומנים שהוחזרו על ידי strace

יומני המערכת מ-strace נראים כך:

דוגמה ליומני קריאות מערכת שנוצרו על ידי הכלי strace

שימוש ב-dtruss ‏ (macOS)

אם אתם מריצים את הקוד ב-macOS, אתם יכולים להשתמש ב-dtruss על ידי הוספת dtruss -a לפני ההפעלה הרגילה משורת הפקודה, לדוגמה:

sudo dtruss -a ./main

כדי לעיין במסמכי העזרה, משתמשים בפקודה man dtruss או נכנסים לאחד מהאתרים של dtrace/drusss.