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

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

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

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

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

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

Πηγή: linux.org.ru

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