OOM et signal log

a marqué ce sujet comme résolu.

Bonjour,

Je cherche un moyen d’avoir des logs sur la création et suppression de processus sous Linux. Notamment, j’aurais besoin de monitorer l’action de l’OOM killer et l’envoyer de signaux (afin de surveiller l’envoie de SIGTERM et SIGKILL).

Y aurait-il un moyen de récupérer ces évènements quelque part ?

Merci d’avance !

+0 -0

Salut,

Tu devrais pouvoir utiliser les tracepoints pour monitorer ça (si dispo dans ton kernel), notamment avec signal:signal_generate et sched:sched_process_exec/exit.

Il est possible qu’il existe des wrappers qui les utilisent, ça vaut sûrement le coup de faire une recherche Google pour vérifier :)

Édit: d’ailleurs il y a même oom:{mark_victim,wake_reaper} et d’autres qui donnent de la visibilité sur l’oom killer

+1 -0

Si tu veux tracer l’activité de ton kernel, ce qui me vient à l’esprit, c’est ftrace (edit: qui utilise les tracepoints mentionnés ci-avant), ou eBPF (on peut tout faire avec eBPF). Il faut juste réfléchir à ce qui arrive si le process qui trace le kernel est tué.

Cela dit, c’est peut être un peu overkill: normalement, superviser la création de processus, c’est ce qu’on attend de init, et, en la matière, systemd fait plutôt bien le boulot pour surveiller des process, et réagir quand les dits process meurent.

Et pour l’analyse post-mortem, en général, l’OOM killer log son action dans les traces kernel (lisibles via dmesg), et sur la plupart des distros, les logs kernels sont sauvegardés dans un fichier par syslog (ou peut être que systemd gère lui même les logs de nos jours, j’ai pas suivi ça en détail). Sur ma distro (debian) j’ai mes logs kernel dans /var/log/kern.log, et mon log complet dans /var/log/syslog.

En espérant que ça te donne des pistes

+3 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte