Pourquoi mDNSResponder utilise-t-il autant de CPU sur mon Mac
mDNSResponder est le processus de macOS qui répond aux requêtes DNS de toutes les apps et qui repère les appareils de votre réseau local grâce à Bonjour. Il fait partie du système, il s’exécute depuis /usr/sbin/mDNSResponder sous son propre compte _mdnsresponder, et sur un Mac en bonne santé il reste autour de 0 % de CPU. Quand il reste occupé, il travaille le plus souvent pour autre chose, comme un navigateur, un VPN ou un réseau bavard, donc la solution consiste à trouver cette source plutôt qu’à arrêter le processus.
Ce qu’il fait
Sa page de manuel (man mDNSResponder) décrit un démon qui implémente le Multicast DNS et la découverte de services DNS, effectue des requêtes DNS pour le compte d’autres processus et garde en cache les réponses. C’est pourquoi son nom revient si souvent dans le Moniteur d’activité et dans les outils réseau : quand une app demande une adresse, c’est ce processus qui pose la question.
Un second processus, mDNSResponderHelper, tourne en root à côté du premier. Sur le Mac utilisé pour cette page, les deux ressemblaient à ceci au repos :
_mdnsresponder 0.0% CPU /usr/sbin/mDNSResponder
root 0.0% CPU /usr/sbin/mDNSResponderHelper
Trouver ce qui le sollicite
Ouvrez le Moniteur d’activité, allez dans l’onglet CPU et observez mDNSResponder pendant une minute. Un pic bref est normal. S’il reste élevé, changez une seule chose à la fois :
- Quittez les navigateurs et les apps qui ouvrent beaucoup de connexions, et regardez si le chiffre retombe en moins d’une minute.
- Désactivez tout VPN, proxy ou filtre DNS, car ils modifient l’acheminement de chaque requête.
- Rejoignez un autre réseau, par exemple le partage de connexion de votre téléphone. Si la charge disparaît, la cause se trouve sur l’ancien réseau.
- Pour voir ce que votre réseau annonce, lancez cette commande quelques secondes et appuyez sur
Ctrl + Cpour l’arrêter :
dns-sd -B _services._dns-sd._udp local
Une longue liste qui change sans cesse indique un réseau avec beaucoup d’appareils Bonjour.
| Ce que vous voyez | Cause probable | À essayer |
|---|---|---|
| Un pic quand vous ouvrez un navigateur ou une app | Requêtes normales | Rien |
| CPU élevé uniquement avec un VPN ou un proxy actif | Ses réglages DNS ou son filtre | Mettez-le à jour, ou vérifiez ses réglages DNS |
| CPU élevé uniquement sur un réseau | Appareils Bonjour nombreux ou défaillants | Testez un autre réseau, puis redémarrez la box ou l’appareil suspect |
| Des sites échouent ou affichent d’anciennes adresses | Une réponse DNS périmée ou erronée | Vider le cache DNS |
| Forte consommation de données sous son nom | Requêtes et découverte locale | Voir quelle app utilise mon réseau |
Peut-on le redémarrer sans risque
Vider le cache DNS envoie un signal au processus, et c’est la méthode prévue pour le réinitialiser :
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Cela prend un instant et demande votre mot de passe. Redémarrer le Mac fait le même travail. Vider le cache n’aide que pour des réponses erronées ou périmées ; si le processus est occupé parce qu’une app n’arrête pas de demander, la charge revient.
Est-ce un malware
Le vrai fichier se trouve dans /usr/sbin/mDNSResponder, sur le volume système, et macOS le lance depuis /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist. Pour vérifier ce qui tourne, regardez le chemin dans l’inspecteur du Moniteur d’activité ou lancez :
ps -axo user,pid,args | grep '[m]DNSResponder'
Méfiez-vous d’un processus portant ce nom qui s’exécute depuis un autre dossier, comme votre dossier personnel ou /tmp. Un chemin correct est un bon indice, mais il ne dit pas quelle app provoque les requêtes.
Ce qu’il ne faut pas faire
- N’essayez pas de le désactiver. La protection de l’intégrité du système protège ce démon de lancement, et sans ce processus la résolution des noms ne fonctionne plus sur tout le Mac.
- N’utilisez pas
kill -9à la place de-HUP. C’est la forme-HUPque cite l’article d’assistance archivé d’Apple. - Ne prenez pas une forte consommation de données pour un téléchargement. Le trafic correspond à des requêtes et à de la découverte, causées par l’activité d’autres apps.
- N’installez pas un « accélérateur de réseau » ni un nettoyeur de DNS à cause de lui. Aucun des deux ne vous dit qui envoie les requêtes.
Où Mole intervient
Mole affiche mDNSResponder dans État avec son CPU et sa mémoire quand il est occupé, et la recherche du tableau le retrouve quand il ne l’est pas. Pourquoi tourne-t-il ? dans son menu indique l’exécutable et ce qui l’a lancé. macOS ne laisse pas Mole lire les ports de ce compte système, donc aucune liste de ports n’apparaît. Comme c’est un service réseau du système, Mole ne propose aucun moyen de l’arrêter. Mole Mac ne vide pas le cache DNS et ne modifie ni le DNS ni les réglages réseau, donc utilisez la commande du Terminal ci-dessus pour cela. La liste Réseau par app, qu’on ouvre en cliquant sur les débits réseau de la barre des menus, peut aussi le montrer, ce qui aide à distinguer les requêtes du vrai trafic d’une app.
FAQ
Qu’est-ce que mDNSResponder sur Mac ?
C’est le processus système qui effectue les requêtes DNS pour les apps et qui repère les appareils du réseau local grâce à Bonjour. Il s’exécute depuis /usr/sbin/mDNSResponder.
Pourquoi mDNSResponder utilise-t-il autant de CPU ?
En général, quelque chose lui fait faire beaucoup de requêtes ou de découverte : une app, un VPN ou un filtre DNS, ou un réseau chargé. Modifiez ces éléments un par un et surveillez le chiffre.
Puis-je quitter ou désactiver mDNSResponder ?
Ne le désactivez pas. La résolution des noms de tout le Mac en dépend. Pour effacer des réponses erronées, videz le cache DNS avec la commande -HUP.
mDNSResponder est-il un virus ?
Le vrai s’exécute depuis /usr/sbin et démarre depuis un démon de lancement du système. Une copie qui s’exécute depuis un autre dossier mérite un examen plus attentif.
Pourquoi mDNSResponder demande-t-il un accès réseau ou consomme-t-il des données ?
Son rôle est la résolution réseau et la découverte locale, donc il utilise le réseau en permanence. Son volume de données reflète ce que demandent les autres apps et reste normalement faible.