Jądro Linux nie może delikatnie obsługiwać sytuacji braku pamięci

Na liście mailingowej deweloperów jądra Linux podniesiono problem z obsługą sytuacji wyczerpania dostępnej pamięci w Linuxie:

Znany jest problem, który męczy wielu ludzi od lat i który można odtworzyć w mniej niż kilka minut na najnowszej wersji jądra Linux 5.2.6. Wszystkie parametry jądra są ustawione na wartości domyślne.

Kroki:

  • Uruchamiamy z parametrem „mem=4G”.
  • Wyłączamy obsługę swap (sudo swapoff -a).
  • Uruchamiamy dowolną przeglądarkę internetową, na przykład Chrome/Chromium lub/i Firefox.
  • Zaczynamy otwierać zakładki z witrynami i obserwujemy, jak maleje ilość wolnej pamięci.

Gdy tylko wystąpi sytuacja, w której nowa zakładka wymaga więcej pamięci RAM, niż jest dostępne, system praktycznie całkowicie się zawiesza. Nawet z trudem można poruszać kursorem myszy. Wskaźnik dysku twardego będzie migać bez przerwy (nie wiem dlaczego). Nie będzie można uruchomić nowych aplikacji ani zamknąć aktualnie uruchomionych.

Ten mały kryzys może trwać minuty lub dłużej. Sądziłem, że system nie powinien tak się zachowywać. Myślę, że coś powinno być zrobione, aby uniknąć takich „zawieszeń”.

Jestem niemal pewien, że można zmienić niektóre parametry sysctl, aby uniknąć podobnych sytuacji, ale coś mi podpowiada, że można to zrobić domyślnie dla wszystkich, ponieważ użytkownicy nienałogowo techniczni, stykając się z takim problemem, po prostu zrezygnują z korzystania z Linuxa, zamiast szukać rozwiązań w Google.

W komentarzach Na Reddit niektórzy użytkownicy sugerują włączenie swapu, ale to nie rozwiązuje problemu, a jedynie go przesuwa i często pogarsza. Jako możliwe przyszłe rozwiązanie może być wykorzystana wprowadzona w jądrze 4.20 i ulepszona w jądrze 5.2 podsystem PSI (Pressure Stall Information), który pozwala analizować informacje o czasie oczekiwania na zdobycie różnych zasobów (CPU, pamięć, wejście/wyjście). Ten podsystem umożliwia organizowanie monitorowania braku pamięci na wczesnym etapie, ustalanie źródła problemów i zamykanie nieistotnych aplikacji, unikając powstawania zauważalnych dla użytkownika efektów.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster