GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Est-il possible de déclencher Oom-killer lors d'un échange forcé ?

Est-il possible que le système permute de manière préventive les pages inactives (vm.swappiness ), mais invoquer oom-killer lorsque le système manque de RAM (au lieu de manquer de mémoire) et est obligé d'échanger ?

Le but ultime est d'empêcher le système de s'arrêter lorsqu'il commence à écraser le disque en raison de défauts de page majeurs, tout en laissant les pages inactives être remplacées.

Un autre souhait serait de configurer la quantité de mémoire d'échange que le système est obligé d'utiliser avant les déclencheurs oom-killer. De cette façon, le système peut plonger un peu dans l'échange, tant qu'il ne va pas trop loin. Ou je pourrais définir un tel seuil pour déclencher oom-killer avant d'utiliser toute la RAM afin qu'il y ait toujours de la place pour le cache du système de fichiers (et ainsi éviter plus d'écrasement du disque).

Il ne semble pas que ce soit si difficile à faire. Il semble que vous pourriez simplement dire à l'oom-killer de se déclencher lorsque le système a X ram utilisé/libre. Mais c'est pourquoi je demande; Je ne sais pas.

Pour plus de clarté, je ne cherche pas à désactiver l'échange ou à ajuster le vm.swappiness paramètre

Réponse acceptée :

J'ai aussi lutté avec ce problème. Je veux juste que mon système reste réactif, quoi qu'il arrive, et je préfère perdre des processus que d'attendre quelques minutes. Il semble n'y avoir aucun moyen d'y parvenir en utilisant le kernel oom killer.

Cependant, dans l'espace utilisateur, nous pouvons faire ce que nous voulons. J'ai donc écrit le Early OOM Daemon
( https://github.com/rfjakob/earlyoom ) qui tuera le plus gros processus (par RSS) une fois que la RAM disponible passera en dessous de 10 %.

Sans earlyoom, il a été facile de verrouiller ma machine (8 Go de RAM) en démarrant plusieurs fois http://www.unrealengine.com/html5/. Maintenant, les onglets coupables du navigateur sont tués avant que les choses ne deviennent incontrôlables.


Linux
  1. Linux - Échanger des clés dans un terminal virtuel ?

  2. Possible d'interrompre l'arrêt sous Linux ?

  3. Swapon a échoué :argument non valide sur un système Linux avec le système de fichiers Btrfs

  4. Linux :Échangez en plus gros morceaux

  5. Linux :comment déséchanger explicitement tout ce qui est possible ?

Configuration système requise pour Kali Linux

Commande d'arrêt de Linux

Commande Fsck sous Linux

Linux est-il un système d'exploitation ou un noyau ?

Gestion du swap dans le système Linux moderne

Documenter la disponibilité du système sous Linux