web-dev-qa-db-fra.com

Où puis-je voir une liste des processus tués au noyau?

Est-ce que je peux vérifier lequel de mes processus a tué le noyau? Parfois, je me connecte à mon serveur et trouve que quelque chose qui aurait dû courir toute la nuit vient d'arrêter 8 heures et je ne suis pas sûr si ce sont les applications faisant ou les noyaux.

33
Kit Sunde

Si le noyau a tué un processus (parce que le système a manqué de mémoire), il y aura un message de journal du noyau. Enregistrement /var/log/kern.log (sur Debian/Ubuntu, d'autres distributions peuvent envoyer des journaux de noyau dans un fichier différent, mais généralement sous /var/log sous Linux).

Notez que si le tueur OUM-KILLER (tueur hors mémoire) déclenché, cela signifie que vous n'avez pas assez de mémoire virtuelle. Ajouter plus d'échange (ou peut-être plus de RAM).

Certains accidents de processus sont également enregistrés dans les journaux du noyau également (par exemple les défauts de segmentation).

Si les processus ont été démarrés de cron, vous devez avoir un courrier avec des messages d'erreur. Si les processus ont été démarrés à partir d'une coque dans un terminal, vérifiez les erreurs de ce terminal. Exécutez le processus en screen pour voir le terminal à nouveau dans la matinée. Cela pourrait ne pas aider si l'OUM-KILLER a déclenché, car il aurait pu tuer le processus de cron ou d'écran; Mais si vous couriez dans le OOM-Killer, c'est le problème que vous devez corriger.