ציין את הגרסה החדשה של earlyoom 1.4, כלי עזר למניעת קריסות בגלל חוסר זיכרון

מוקדם

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

עכשיו כמה שבועות אחר כך ו לאחר שמונה חודשי פיתוח הוכרז על שחרור הגרסה החדשה של Earlyoom 1.4.

למי שלא מכיר את הפרויקט, עליו לדעת זאת זהו שרשור רקע הבודק מעת לעת את כמות הזיכרון הזמינה (MemAvailable, SwapFree) ומנסה להגיב למצב של זיכרון בשלב מוקדם. קוד הפרויקט כתוב ב- C ומופץ ברישיון MIT.

מוקדם
Artaculo relacionado:
הקדם את השרשור לכלול בפדורה 32 כדי למנוע קריסות זיכרון

אם כמות הזיכרון הזמינה נמוכה יותר מהערך שצוין, חדר מוקדם יסתיים בכוח (על ידי שליחת SIGTERM או SIGKILL) תהליך התהליך שצורך הכי הרבה זיכרון (בעל הערך הגבוה ביותר / proc / * / oom_score), מבלי לנקות מאגרי מערכת במערכת ולהפריע למנהל ההחלפה (OOM (מחוץ לזיכרון) במצבי גרעין במצב נמוך) הזיכרון כבר הגיע לערכים קריטיים, ובדרך כלל בשלב זה המערכת כבר לא מגיבה לפעולות משתמש).

Earlyoom תומך בשליחת הודעות על תהליך מאולץ לשולחן העבודה (באמצעות שליחת התראות), ומספק גם את היכולת להגדיר כללים שבהם ניתן להשתמש בביטויים רגולריים כדי לציין את שמות התהליכים שהסיום שלהם עדיף (האפשרות "–העדיף") או עצירות שיש להימנע מהן (אפשרות למנוע זאת).

מה חדש ב- Earlyoom 1.4?

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

חוץ מזה גם איפוס הרשאות השורש יושם בקובץ הכונן "systemd earlyoom.service". שינוי זה שובר את היכולת לקבל התראות GUI.

כדי להפעיל מחדש את התראות ה- GUI, מוצע להחזיר זכויות שורש על ידי ביטול התייחסות לשורה «DynamicUser = נכון".

אף על פי שהשבתת root אינה מאפשרת לקבל מידע על צריכת זיכרון בעת ​​הרכבה / proc במצב hidepid = 1 או hidepid = 2.

משאר השינויים הבולטים:

  • ה- UID של התהליך שהסתיים בא לידי ביטוי ברישום, בנוסף ל- PID ולשם התהליך.
  • נוסף סימון יומן ניפוי באגים בהיר.
  • במידת האפשר, נעשה שימוש בהכרזת המשתנים המקומיים לבלוקים.
  • תצורה נוספה PATH_LEN כדי לעקוף את הערך של גודל המאגר המוטבע בקוד.
  • אפשרות התחלה cppcheck אם זמין.
  • הוסיף מבחן ביצועים "להכין ספסל".
  • חבילת בדיקות מורחבת (ערוך בדיקה).

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

כיצד להתקין earlyoom ב- Linux?

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

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

sudo apt install earlyoom

ברגע שזה נעשה, כעת יש להפעיל את השירות באמצעות הפקודה:

sudo systemctl enable earlyoom

וזה מתחיל ב:

sudo systemctl start earlyoom

במקרה של פדורה ו- RHEL 8 עם EPEL, ניתן להתקין אותו עם הפקודה הבאה:

sudo dnf install earlyoom

והשירות מופעל באמצעות:

sudo systemctl enable --now earlyoom

לבסוף, במקרה של Arch Linux או כל נגזרת אחרת לכך, ההתקנה מתבצעת עם הפקודה הבאה:

sudo pacman -S earlyoom

והשירות מופעל באמצעות:

sudo systemctl enable --now earlyoom

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

כדי להשיג את הקוד אנו יכולים לעשות זאת באמצעות הפקודה הבאה:

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

אנו ממשיכים להרכיב עם:

make

ואנחנו מתקינים (אם יש לך Systemd):

sudo make install

או למי שאין לו Systemd:

sudo make install-initscript

וכדי להשתמש בשירות אתה עושה זאת באמצעות:

./earlyoom


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   אינפוגון דיג'ו

    פרט של הכותרת: «אובדן זיכרון»

    1.    דוד נאראנג'ו דיג'ו

      תודה על התצפית. לחיים! 🙂

  2.   linuxmanr4 דיג'ו

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

    אז ההתקנה צריכה להיות דרך yourt.

    yaourt earlyoom

    ¡Saludos!

    1.    דוד נאראנג'ו דיג'ו

      ב- Arch, זה נמצא במאגר הקהילה שיש להפעיל אותו ב- pacman.conf. באותו אופן כפי שאתה מזכיר זה גם ב- AUR.

      תודה על התצפית 😀

  3.   פראן פבון דיג'ו

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