Wcześniej przeklinałem OOM-Killera za to, że był zbyt agresywny i zabijał aplikacje, których używałem. Teraz, gdy okresowo obserwuję mój system przez 15 minut z powodu jakiegoś źle zachowanego programu, a następnie w końcu uciekam się do wyłączenia zasilania, ponieważ nie reaguje on na klawiaturę, zdaję sobie sprawę, że miałem go lepiej, niż sobie wyobrażałem wtedy.
Jak przywrócić zabójcę OOM do jego starych, krwiożerczych sposobów?
limits.conf
Odpowiedzi:
Zmniejszyłbym ilość dostępnej przestrzeni wymiany. Obecnie typowe instalacje próbują przydzielić tyle swapów, ile jest pamięci fizycznej (lub czasami dwa razy więcej). Problem polega na tym, że gdy coś idzie nie tak, system przechodzi w spiralę śmierci, próbując „przetasować” rzeczy z pamięci na dysk iz powrotem, i zaczyna robić tak dużo , że nie ma czasu na reakcję do danych wejściowych użytkownika.
W dobrych czasach całe procesy były zamieniane na dyski (iz powrotem), dlatego potrzebne były duże wymiany.
W nowoczesnych systemach pamięci wirtualnej pamięć jest zamieniana na bloki (a nie całe procesy), dzięki czemu można sobie radzić z mniejszymi zamianami. W twoim scenariuszu lepiej byłoby zabijać procesy, więc uruchamianie z mniejszą zamianą spowoduje, że OOM zacznie szybciej zabijać procesy (zamiast tego, że system spędza nadmierną ilość czasu na zamianie rzeczy na / z dysku).
źródło
Oto, co zadziałało dla mnie:
To tylko dla tego rozruchu. Możesz przetestować, uruchamiając następujące polecenie na karcie konsoli w inspektorze przeglądarki:
Jeśli jesteś zadowolony z tego ustawienia, możesz ustawić domyślnie wszystkie przyszłe buty:
źródło