Κυκλοφορία του earlyoom 1.3, μια διαδικασία για έγκαιρη απόκριση σε χαμηλή μνήμη

Μετά από επτά μήνες ανάπτυξης δημοσιεύθηκε απελευθέρωση διαδικασίας παρασκηνίου νωρίς 1.3, το οποίο ελέγχει περιοδικά την ποσότητα της διαθέσιμης μνήμης (MemAvailable, SwapFree) και προσπαθεί να ανταποκριθεί σε πρώιμο στάδιο στην εμφάνιση ελλείψεων μνήμης.

Εάν η ποσότητα της διαθέσιμης μνήμης είναι μικρότερη από την καθορισμένη τιμή, τότε το earlyoom θα τερματίσει αναγκαστικά (με την αποστολή SIGTERM ή SIGKILL) τη διαδικασία που καταναλώνει τη μνήμη πιο ενεργά (έχοντας την υψηλότερη τιμή /proc/*/oom_score), χωρίς να φέρει την κατάσταση του συστήματος για την εκκαθάριση των buffer του συστήματος και την παρέμβαση στην εναλλαγή εργασιών (ο χειριστής OOM (Out Of Memory) στον πυρήνα ενεργοποιείται όταν η κατάσταση εκτός μνήμης έχει ήδη φτάσει σε κρίσιμες τιμές​και συνήθως αυτή τη στιγμή το σύστημα δεν αποκρίνεται πλέον στις ενέργειες των χρηστών).

Το Earlyoom υποστηρίζει την αποστολή ειδοποιήσεων αναγκαστικά τερματισμένων διαδικασιών στην επιφάνεια εργασίας (χρησιμοποιώντας το notify-send) και παρέχει επίσης τη δυνατότητα καθορισμού κανόνων στους οποίους, χρησιμοποιώντας κανονικές εκφράσεις, μπορείτε να καθορίσετε τα ονόματα των διαδικασιών που προτιμάτε να τερματιστούν (επιλογή "- -προτιμώ") ή να σταματήσει θα πρέπει να αποφεύγεται (επιλογή "--αποφυγή").

Βασικές αλλαγές στη νέα έκδοση:

  • Υλοποιήθηκε αναμονή για την ολοκλήρωση μιας διαδικασίας μετά την αποστολή ενός σήματος σε αυτήν. Αυτό εξαλείφει το πρόβλημα ότι το earlyoom μερικές φορές σκοτώνει περισσότερες από μία διεργασίες, όταν μία θα αρκούσε.
  • Προστέθηκε ένα βοηθητικό σενάριο (notify_all_users.py) για να ειδοποιεί όλους τους συνδεδεμένους χρήστες σχετικά με την ολοκλήρωση των διαδικασιών μέσω του notify-send.
  • Διορθώθηκε η εσφαλμένη εμφάνιση ορισμένων ονομάτων διεργασιών που περιέχουν χαρακτήρες UTF-8.
  • Ο Κώδικας Δεοντολογίας του Συμφώνου Συνεισφέρον έχει εγκριθεί.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο