הבנת ממוצע העומס ב- Linux

Understanding Load Average Linux



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

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







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



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



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





הבנת ממוצע העומס בלינוקס

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

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



שורש@מַזַל בְּתוּלָה[~]# ב
עשרים ואחת: 08:43לְמַעלָה38ימים,4:3. 4,4 משתמשים, טעינה ממוצעת:3.11,2.75,2.70

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

במערכת אידיאלית, אסור להחזיק שום תהליך על ידי תהליך (או חוט) אחר, אבל במערכת מעבד אחת, זה קורה כאשר העומס עולה על 1.00.

המילים מערכת מעבד יחיד חשובות כאן להפליא. אלא אם כן אתה מפעיל מחשב עתיק, כנראה שלמחשב שלך יש ליבות מעבד מרובות. במכונה שאני משתמש בה, יש לי 16 ליבות:

שורש@מַזַל בְּתוּלָה[~]# nproc
16

במקרה זה, ממוצע עומס של 3.11 אינו מדאיג כלל. זה פשוט אומר שקצת יותר משלושה תהליכים היו מוכנים לביצוע וליבות CPU היו נוכחות כדי לטפל בביצוען. במערכת מסוימת זו, העומס יצטרך להגיע ל -16 כדי להיחשב ב -100%.

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

חתול /אָחוּז/loadavg| גזירה 1-4 | זרק 'סולם = 2; ($ (/`nproc`) * 100 ' | לִפנֵי הַסְפִירָה

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

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

דקה ללמידה, חיים שלמים למאסטר

בחלק הקודם שמתי את הדוגמה של 100% לעומס של 16.0 על מערכת ליבה של 16 מעבדים במרכאות מכיוון שחישוב העומס בלינוקס קצת יותר ערפילי מ- Windows. על מנהל המערכת לזכור כי:

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

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

I/O המתן

ניתן להבחין בקלות בהמתנת קלט/פלט באמצעות הפקודה העליונה:

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

המתנת קלט/פלט גבוהה ללא כל סיבה ברורה עשויה להצביע על בעיה בדיסק. השתמש בפקודה dmesg כדי לראות אם אירעו שגיאות.

קרנל מול מערכת זמן

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

עומס ממוצע למדי

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