Problème dbus-daemon en quantité

Bonsoir,

J’ai un problème sur une machine virtuelle qui n’héberge qu’une base MariaDB et un serveur Apache. Des centaines de process « dbus-daemon » polluent cette machine jusqu’à la rendre inopérante, toute action de terminant par un « can’t fork ».
Je n’arrive pas à trouver quel est le process « fautif » car tous ces processes semblent liée à systemd (vu avec pstree).
J’ai du mettre une commande dans cron qui tue tous les process « dbus-daemon » toutes les 10 minutes.
J’ai finalement mis en place une solution plus radicale : remplacer « dbus-daemon » et « dbus-launch » par des scripts que ne font qu’un « exit 0 ». C’est efficace mais je me demande pourquoi la machine tourne encore normalement sans accès au message-bus ?
Une solution plus élégante serait beaucoup plus satisfaisante … si quelqu’un a-t-il une idée sur ce phénomène bizarre je suis preneur.
PS : j’ai d’autres machines virtuelles ou physiques en Debian Buster et aucune ne présente ce phénomène …

Bonjour,

Est-ce que les processus dbus-daemon qui sont lancés le sont en tant que root ou en tant qu’un autre utilisateur ?

Bonjour,

Il faudrait au moins donner une liste de ces processus dbus_daemon et le contenu de /etc/dbus-1/system.d et /etc/dbus-1/session.d
Si c’est processus se multiplient à l’infini c’est probablement dû à un bug d’une application.

Bonjour,
Merci à Almtesh et Bruno1 pour leur attention, ci dessous les renseignements demandés :
J’ai limité de nombre de démons dbus à 4 par un script /usr/bin/dbus-daemon qui appelle le démon renommé s’il n’y en a pas plus de 4 présents.
Les démons présents, tous « root » (maintenant limités à 4) :

ps -ef | grep dbus
root        1301       1  0 janv.11 ?      00:00:00 /usr/bin/sv_dbus-daemon --syslog --fork --print-pid 5 --print-address 7 --session
root        1381       1  0 janv.11 ?      00:00:00 /usr/bin/sv_dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --session
root        1397       1  0 janv.11 ?      00:00:00 /usr/bin/sv_dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --session
root        1429       1  0 janv.11 ?      00:00:00 /usr/bin/sv_dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --session
cd /etc/dbus-1/system.d; ls -al
-rw-r--r-- 1 root root 1144 janv. 23  2017 avahi-dbus.conf
-rw-r--r-- 1 root root  917 déc.  29  2016 org.freedesktop.Accounts.conf
-rw-r--r-- 1 root root 1180 déc.  19  2016 org.freedesktop.DisplayManager.conf
-rw-r--r-- 1 root root 1075 oct.  24  2015 org.freedesktop.RealtimeKit1.conf
-rw-r--r-- 1 root root  498 oct.   3  2016 org.mate.CPUFreqSelector.conf
-rw-r--r-- 1 root root  765 avril 28  2017 org.mate.SettingsDaemon.DateTimeMechanism.conf
-rw-r--r-- 1 root root 1084 juin  18  2017 pulseaudio-system.conf
cd /etc/dbus-1/session.d ; ls -al
-rw-r--r-- 1 root root 1144 janv. 23  2017 avahi-dbus.conf
-rw-r--r-- 1 root root  917 déc.  29  2016 org.freedesktop.Accounts.conf
-rw-r--r-- 1 root root 1180 déc.  19  2016 org.freedesktop.DisplayManager.conf
-rw-r--r-- 1 root root 1075 oct.  24  2015 org.freedesktop.RealtimeKit1.conf
-rw-r--r-- 1 root root  498 oct.   3  2016 org.mate.CPUFreqSelector.conf
-rw-r--r-- 1 root root  765 avril 28  2017 org.mate.SettingsDaemon.DateTimeMechanism.conf
-rw-r--r-- 1 root root 1084 juin  18  2017 pulseaudio-system.conf

Cette machine ne sert que de base de données et de serveur WEB, j’y ai malgré tout mis le minimum d’interface graphique pour utiliser Gvim ou Synaptic essentiellement.
Cette profusion de démons finit par « bourrer » le système et amène à des « can’t fork » lors du lancement d’un nouveau processus … ce qui est assez gênant pour les sauvegardes par exemple.
Merci d’avance des pistes que vous pourriez m’indiquer.

Cordialement

JPPO

J’espère que tu as autre chose que Gvim et Synaptic, parce que Gvim est un frontend à vim et tu peux très bien utiliser apt au lieu de Synaptic

Tiens, c’est marrant cette façon de faire. ls -al /etc/dbus-1/system.d fonctionne aussi.

Tiens, c’est marrant, il me semblait que Mate avait besoin de dbus et qu’un seul dbus pour le système suffisait. Oh, mais attends, ta sesssion Mate est lancée en tant que quel utilisateur ?

1 J'aime

+1
J’ajoute que sur un serveur (sans surcouche graphique) ou sur une machine de bureau je n’ai aucun processus dbus lancé par root. En général il y en a un seul lancé par l’utilisateur système messagebus et il peut y en avoir plusieurs lancé par l’utilisateur courant (en session graphique).

Mais le plus important est qu’il ne s’agit pas du binaire /usr/bin/dbus-daemon mais de /usr/bin/sv_dbus-daemon !
Et comme je ne trouve aucune référence à ce fichier ni dans les paquets Debian, ni via un moteur de recherche, je me demande si cette machine est bien saine…

Y aurait-il un rapport avec runit ?

Possible, je ne l’ai jamais utilisé et je ne sais pas comment il fonctionne. Je sais que certaines distributions l’utilisent mais je ne vois vraiment pas l’interêt d’insatller ça sur une Debian.

Bonjour,

J’ai oublié de préciser que j’utilise Debian depuis les années 90 … mais j’aime bien les interfaces graphiques pour « voir » les paquets existants … et bricoler des scripts avec GVIM …
bien que j’utilise souvent un simple Vi sur des serveurs professionnels.
En ce qui concerne sv_dbus_demon c’est un renommage de dbus-daemon, dbud-daemon est remplacé par un script qui limite à 4 le nombre de sv_dbus_daemon …
Mais je n’ai pas encore réussi à comprendre qui lance tous ces processus en « root ».
Je ne passe par l’interface graphique qu’à travers « ssh -X … » mais les librairies graphiques doivent être installées puisque ssh n’est dans ce cas qu’un tunnel vers l’affichage local.
Merci à Bruno1 et Jcsm33 de s’intéresser à mon petit problème.
Je songe fortement à recréer une nouvelle machine virtuelle pour y héberger les applications gênées par cette profusion de dbus-daemon.

Cordialement
JPPO

ah pardon, je n’avais pas bien tout suivi donc aucun lien avec runit

pstree ne donne pas plus de détails ?

et aussi @Almtesh

D’accord mais ton script masque le problème sous-jacent.
Il faudrait l’enlever et éviter de se connecter avec l’option -X de ssh (et surtout pas en root !) et refaire une vérification avec ps, pstree, out tout autre outil pouvant donner des informations sur les processus dbus-daemon.

Tu peux me dire en tant que quel utilisateur est lancée la session graphique Mate ?

Bonjour,
D’abord merci pour vos avis. Le problème est réglé, plus de DBUS sauvages.
J’ai effectué une mise à jour (ré-installation) de tous les paquets liés à DBUS, essentiellement des librairies et … plus de problèmes depuis plusieurs jours.
Le seul dbus-daemon présent est lié au user « messagebus » :
message+ 351 1 0 13:42 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
Même quand je me connecte avec « ssh -X » il n’y a pas d’autre démon lancé …
Le problème était probablement lié au lancement du démon avec le user « messagebus » puisqu’il n’existait par de référence à ce processus géré par « messagebus » dans mes premières recherches comme montré par la commande « ps -ef | grep dbus » présente dans mon premier post.
Par contre je ne saurais jamais ce qui s’est passé … erreur lors d’une mise à jour, version obsolète d’une librairie datant de Debian 9 … ???
Cordialement

JPPO