Y a-t-il un moyen de faire fonctionner le tueur OOM et d'empêcher Linux de geler? J'ai couru des applications de Java et de C#, où n'importe quelle mémoire allouée est habituellement utilisée, et (si je les comprends bien) les overcommits font geler la machine. En ce moment, comme une solution temporaire, j'ai ajouté,Quelle est la meilleure façon d'empêcher le stockage hors mémoire (OOM) sur Linux?
vm.overcommit_memory = 2
vm.overcommit_ratio = 10
à /etc/sysctl.conf. Bravo à tous ceux qui peuvent expliquer pourquoi le tueur de MOO existant ne peut pas fonctionner correctement d'une manière garantie, tuant des processus chaque fois que le noyau manque de mémoire "réelle". Beaucoup de réponses vont dans le sens de Michael "si vous rencontrez des problèmes liés à OOM Killer, alors vous avez probablement besoin de réparer ce qui vous cause de manquer de mémoire". Je ne pense pas que ce soit la bonne solution. Il y aura toujours des applications avec des bugs, et j'aimerais ajuster le noyau pour que mon système ne gèle pas. Compte tenu de mes connaissances techniques actuelles, cela ne semble pas être impossible.
Pour limiter la mémoire, pourquoi ne pas limiter la surcharges à la parité? – wallyk
Le tueur OOM sur mes systèmes Linux semble fonctionner comme prévu. À quel point êtes-vous certain que vous êtes confronté à une défaillance du tueur OOM? Pourquoi pensez-vous que c'est la cause? Avez-vous aussi envisagé la possibilité de problèmes d'éboueurs? – dmckee
@dmckee - toutes les autres applications se bloquent. @wallyk - qu'est-ce qui "limite la surenchère à la parité"? – gatoatigrado