Je ne veux pas que mon ordinateur permute les données sur le disque. Je n'ai pas de partition d'échange:
$ gratuit total utilisé des tampons partagés libres mis en cache Mem: 3841912 3670012 171900 0 74980 699652 - / + buffers / cache: 2895380 946532 Échange: 0 0 0
De retour dans la journée (peut-être aussi récemment que le noyau 2.4?), Cela fonctionnait. Les processus gourmands en mémoire seraient tués par le tueur à mort et je les redémarrerais. Mais maintenant (google-chrome (13.0.782.24 beta)) envoie régulièrement ma machine dans une spirale mortelle de permutation. Ou du moins quelque chose qui ressemble à un échange: les fenêtres X prennent une éternité à mettre à jour, les disques durs, le diagramme de mémoire du panneau gnome atteint le plafond, et je vois ce message dans le syslog:
rtkit-daemon [1771]: Le fil canarien est apparemment en train de mourir de faim. Prendre part. rtkit-daemon [1771]: rétrogradation des threads en temps réel connus. ...
Mais, selon syslog, le noyau n’exécute pas le tueur à mort. Pour faire bonne mesure, j'ai réglé swappiness sur 0:
$ cat / proc / sys / vm / swappiness 0
Ma solution consiste à utiliser ctrl-alt-sysrq-f lorsque cela commence à se produire. Quelqu'un a-t-il une recette pour configurer Linux afin qu'il exécute oom_kill seul, dans cette situation?
Réponses:
Le MOO ne tue pas nécessairement le processus que vous pensez qu'il le fera. Lisez à ce sujet ici: http://lwn.net/Articles/317814/
Je suppose que ce qui se passe, c’est que, du fait que chrome utilise un processus différent pour chaque page, cela confond les heuristiques du tueur de MOO et d’autres processus sont éliminés au lieu du processus chrome de parent.
Selon cette hypothèse, le tueur OOM aime tuer les processus sophistiqués. Donc, essayez de régler le chrome à une valeur supérieure à 0 .. pourrait en faire une cible :-)
la source
Je suis arrivé à la conclusion que le linux moderne n'aime pas fonctionner sans mémoire virtuelle. Peut-être que se débarrasser de l’échange avait du sens à l’époque des disques durs lents / d’anciens algorithmes de machine virtuelle / etc.
Mais je travaille avec un fichier d'échange depuis quelques mois et je suis beaucoup plus satisfait du comportement de ma machine en termes de mémoire insuffisante. Cela ralentit un peu les limites, mais il est facile d'intervenir et de mettre fin aux processus gourmands en mémoire pour que les choses reviennent à la normale.
la source