Le noyau Linux ne peut pas gérer en douceur les situations de manque de mémoire

Dans la liste de diffusion des développeurs du noyau Linux la question a été soulevée concernant le traitement des situations d'épuisement de la mémoire libre dans Linux :

Un problème connu qui perturbe de nombreuses personnes depuis des années et qui peut être reproduit en moins de quelques minutes sur la dernière version du noyau Linux 5.2.6. Tous les paramètres du noyau sont configurés avec les valeurs par défaut.

Étapes :

  • Nous démarrons avec le paramètre « mem=4G ».
  • Désactivez le support de l'échange (sudo swapoff -a).
  • Lancez n'importe quel navigateur web, par exemple, Chrome/Chromium ou/et Firefox.
  • Commencez à ouvrir des onglets avec des sites et observez comment la mémoire libre diminue.

Dès qu'une situation se présente où un nouvel onglet nécessite plus de mémoire vive que disponible, le système se fige pratiquement complètement. Vous aurez même du mal à déplacer le curseur de la souris. Le témoin de disque clignotera sans interruption (je ne comprends pas pourquoi). Vous ne pourrez pas lancer de nouvelles applications ni fermer celles déjà ouvertes.

Cette petite crise peut durer plusieurs minutes ou plus. Je pense que le système ne devrait pas se comporter ainsi. Je pense qu'il faudrait faire quelque chose pour éviter de tels « blocages ».

Je suis presque sûr qu'il est possible de modifier certains paramètres sysctl pour éviter de telles situations, mais quelque chose me dit que cela devrait être fait par défaut pour tout le monde, car les utilisateurs non techniques, face à ce problème, vont simplement abandonner Linux et ne vont pas chercher des solutions sur Google.

Dans commentaires Sur Reddit, certains utilisateurs suggèrent d'activer l'échange, mais cela ne résout pas le problème, cela le repousse simplement et l'aggrave souvent. Une solution possible à l'avenir pourrait impliquer la sous-système nouvellement apparue dans le noyau 4.20 et améliorée dans le noyau 5.2 PSI (Pressure Stall Information), qui permet d'analyser l'information sur le temps d'attente pour obtenir diverses ressources (CPU, mémoire, entrée/sortie). Ce sous-système permet d'organiser le suivi du manque de mémoire à un stade précoce, de déterminer la source des problèmes et de terminer des applications non essentielles sans causer d'effets notables pour l'utilisateur.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster