2008-09-23 14 views
1

J'avais récemment un problème avec oom-killer commençant à tuer des processus après un certain temps. Je pouvais voir que la mémoire était consommée, mais au moment où je suis arrivé au serveur, ce n'était plus clair ce qui l'avait consommé. Y at-il un bon endroit non-évident pour obtenir plus d'informations sur oom-killer? Par exemple. des informations détaillées sur les processus au moment de l'activation, des informations détaillées sur les processus mis à mort et les raisons du choix?Comment pouvez-vous obtenir plus d'informations sur les processus lorsque Linux est à court de mémoire?

Je cherche un endroit spécifique pour trouver cette information, un outil spécifique pour la rassembler ou une certaine configuration pour améliorer le rapport de oom-tueur. Je ne cherche pas d'informations génériques sur oom-killer./var/messages par défaut ne contiendra qu'un rapport détaillé sur la mémoire libre/allouée, mais pas sur les processus spécifiques pour lesquels elle a été allouée.

Répondre

2

Vous pouvez vérifier le fichier journal des messages pour voir quel processus a été tué et certaines informations connexes. Pour les raisons:

... le candidat idéal pour la liquidation est un processus récemment démarré, non privilégié qui, avec ses enfants, utilise beaucoup de mémoire, a été ajouté et ne fait pas d'E/S brutes . Quelque chose comme une construction de noyau parallèle nohup'd (ce qui n'est pas un mauvais choix puisque tous les résultats sont sauvegardés sur le disque et très peu de travail est perdu quand un 'make' est terminé).

De here.

Vous pouvez définir des processus pour être immunisé contre le tueur, régler le paramètre swappiness au cas où vous l'avez trop faible (ce qui rend le tueur la gâchette facile) et vérifier les choses énumérées here

1

En règle générale, vous devriez obtenir un message dans/var/log/messages, avec un grand nombre de détails concernant le processus qui a été tué par l'oom-killer.

+0

Pas vraiment, pour une raison quelconque, je ne vois que les informations de la mémoire. –

1

Ce n'est pas exactement répondre à votre question, mais la page de manuel malloc(3) sur Linux a quelques informations sur la façon de désactiver la mémoire overcommit

echo 2 > /proc/sys/vm/overcommit_memory