Comment obtenir plus d'informations sur les processus lorsque Linux manque de mémoire?

StackOverflow https://stackoverflow.com/questions/120000

  •  02-07-2019
  •  | 
  •  

Question

J'ai récemment eu un problème avec Oom-Killer qui commence à tuer les 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, on ne savait plus vraiment ce qui la consommait. Y at-il un bon endroit non évident pour obtenir plus d’informations sur Oom-Killer? Par exemple. informations détaillées sur les processus au moment de l'activation, informations détaillées sur les processus tués et les raisons du choix?

Je recherche un endroit spécifique pour trouver cette information, un outil spécifique pour la rassembler ou une configuration pour améliorer les rapports Poor-Killer. 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 disponible / allouée, mais pas sur les processus spécifiques auxquels elle a été allouée.

Était-ce utile?

La solution

Vous pouvez consulter le fichier journal des messages pour voir quel processus a été tué et certaines informations connexes. En ce qui concerne les raisons:

  

... le candidat idéal à la liquidation est un processus récemment mis en place, non privilégié, qui, avec ses enfants, utilise beaucoup de mémoire, a été gentil et ne fait pas d’E / S brutes. Quelque chose qui ressemble à 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 disque et que très peu de travail est perdu lorsqu’un 'make' est terminé).

De ici .

Vous pouvez définir que certains processus sont immunisés contre le tueur, ajustez le paramètre swappiness s'il est trop bas (ce qui rend le déclencheur heureux) et vérifiez les éléments répertoriés ici

Autres conseils

Typiquement, vous devriez recevoir un message dans / var / log / messages, avec beaucoup de détails relatifs au processus qui a été tué par le tueur à mort.

Ce n’est pas la réponse exacte à votre question, mais la page de manuel malloc (3) sur Linux contient des informations sur la façon de désactiver le dépassement de mémoire

.
echo 2 > /proc/sys/vm/overcommit_memory
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top