Le noyau Linux ne peut pas gérer correctement les situations de mémoire insuffisante

Sur la liste de diffusion des développeurs du noyau Linux soulevé Problème de gestion d'une situation de mémoire faible sous Linux :

Il existe un problème connu qui tourmente de nombreuses personnes depuis de nombreuses années et peut être reproduit en moins de quelques minutes sur le dernier noyau Linux 5.2.6. Tous les paramètres du noyau sont définis sur les valeurs par défaut.

Étapes:

  • Démarrez avec le paramètre « mem=4G ».
  • Désactivez la prise en charge du swap (sudo swapoff -a).
  • Nous lançons n'importe quel navigateur Web, par exemple Chrome/Chromium et/ou Firefox.
  • Nous commençons à ouvrir des onglets avec des sites et à observer comment la quantité de mémoire libre diminue.

Dès qu'une situation survient où un nouvel onglet nécessite plus de RAM que ce qui est disponible, le système se bloque presque complètement. Vous aurez même du mal à déplacer le curseur de la souris. Le voyant du disque dur clignotera sans arrêt (je ne sais pas pourquoi). Vous ne pourrez pas lancer de nouvelles applications ni fermer celles en cours d'exécution.

Cette petite crise peut durer quelques minutes ou plus. Je suppose que le système ne devrait pas se comporter de cette façon. Je pense qu'il faut faire quelque chose pour éviter de tels « gels ».

Je suis presque sûr qu'il est possible de modifier certains paramètres sysctl pour éviter ce genre de situation, mais quelque chose me dit que cela pourrait être la valeur par défaut pour tout le monde car les utilisateurs non techniques qui rencontrent ce problème abandonneront simplement Linux et ne le feront pas. care afin de rechercher des solutions sur Google.

В commentaires sur Reddit, certains utilisateurs suggèrent d'activer le swap, mais cela ne résout pas le problème, cela ne fait que le reporter et l'aggrave souvent. Comme solution possible à l'avenir, les éléments apparus dans le noyau pourraient être impliqués 4.20 et amélioré dans le noyau 5.2 Sous-système PSI (Pressure Stall Information), qui permet d'analyser les informations sur le temps d'attente pour recevoir diverses ressources (CPU, mémoire, E/S). Ce sous-système permet d'organiser à un stade précoce la surveillance des pénuries de mémoire, de déterminer la source des problèmes et de mettre fin aux applications sans importance sans provoquer d'effets perceptibles pour l'utilisateur.

Source: opennet.ru

Ajouter un commentaire