Je viens de mettre à jour mon MacBook Pro 15" 2018 de Mojave à Catalina (10.15.4). Cela fait quelques heures.
L'une des premières choses que j'ai faites après la mise à jour a été de monter une vidéo à l'aide de la nouvelle version d'évaluation gratuite de Final Cut Pro X. Les ventilateurs de refroidissement de mon ordinateur portable ont tourné à plein régime pendant toute la durée de la mise à jour, mais il y avait toujours un rendu en arrière-plan en cours, alors je me suis dit que c'était normal.
Lorsque j'ai terminé et quitté FCP, les ventilateurs ne tournaient pas, j'ai donc vérifié le moniteur d'activité et j'ai découvert que mDNSResponder prenait 90 à 100 % du CPU en permanence. La colonne Threads dans Activity Monitor indique 3-4 threads la plupart du temps ; les 100% sont répartis sur tous ces threads, et ils ne sont pas tous sur le même cœur. Je ne sais pas comment il parvient à faire cela tout en restant à 100% ou juste en dessous la plupart du temps, mais c'est ce qu'il fait.
L'ordinateur portable possède six cœurs (12 logiques), de sorte que l'occupation complète d'un cœur n'entraîne pas de différence notable en termes de performances (à moins que je ne commence à mesurer le temps que prennent les choses - mais cela revient à remarquer que les chiffres sont différents - et non que les performances sont différentes !)
Note : Dans l'ensemble, les graphiques à barres montrent que plus d'un cœur complet est utilisé. C'est normal. J'ai une recherche appliquée dans ma capture d'écran Activity Monitor, et il y a beaucoup d'autres choses en cours - Slack est ouvert, Chrome avec onze milliards d'onglets, IntelliJ IDEA est probablement en train d'indexer quelque chose, et ainsi de suite.
J'ai essayé de redémarrer mDNSResponder en utilisant ces commandes :
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
J'ai vu le processus disparaître, donc je sais que la commande a fonctionné, mais l'utilisation du processeur est immédiatement revenue à 100 % lorsque j'ai redémarré. mDNSResponderHelper
ne s'est pas arrêtée, j'ai donc réessayé, en insérant des sudo killall mDNSResponderHelper
comme étape intermédiaire. Cela a permis aux deux processus de disparaître comme je l'avais prévu, mais le problème n'a toujours pas été résolu.
J'ai également essayé d'envoyer un signal HUP à mDNSResponder comme suit :
sudo killall -HUP mDNSResponder
Cela n'a pas eu d'effet non plus.
J'ai ouvert Console, entré mdnsresponder
dans le champ de recherche, et a regardé les messages défiler pendant une minute ou deux. Quelques informations sur Bonjour, BEAUCOUP de <private>
et un enregistrement des requêtes DNS d'apparence assez normale. J'ai essayé de désactiver le Bluetooth et le Wifi dans l'espoir d'affecter Bonjour, mais je suis sur une connexion Ethernet câblée (que je n'ai pas déconnectée) et cela n'a pas semblé avoir d'effet.
Après avoir tapé ceci, j'ai finalement remarqué que cloudphotosd prenait également une bonne partie du CPU. J'ai supposé qu'il s'agissait du fameux processus de réindexation qui se produit fréquemment après les mises à jour du système d'exploitation, parcourant ma photothèque (assez volumineuse), mettant à jour les métadonnées en fonction des nouvelles fonctionnalités offertes par Catalina, et téléchargeant ces changements vers iCloud. Cela expliquerait une activité réseau constante, et j'ai donc pensé que cela pourrait peut-être expliquer l'activité de mDNSResponder. J'ai donc laissé cette fenêtre ouverte sans la soumettre et j'ai attendu un peu pour voir si cloudphotosd se calmerait. Il s'est calmé, mais pas mDNSResponder. Voilà pour mon intuition !
Finalement, j'ai essayé de redémarrer mon Mac ; mDNSResponder n'a pas perdu de temps pour se remettre au travail. Sans aucune application en cours d'exécution après un nouveau démarrage, il était déjà constamment à 100 % ou juste en dessous, comme avant.
Il s'agit d'un site de questions-réponses, et je n'ai pas posé de question, alors j'en pose une : comment savoir ce qu'il fait, et comment le faire cesser ?
MISE À JOUR : cela fait près de 48 heures et il continue de tourner. L'autonomie de ma batterie est maintenant nulle. J'ai observé que le fait de fermer le couvercle de l'ordinateur portable semble l'arrêter, mais qu'il revient dès que je l'ouvre à nouveau. J'ai également remarqué un autre symptôme : les premières recherches DNS après un redémarrage prennent ~2 secondes (je m'attendais à <200ms). Je ne sais pas si c'est simplement un effet secondaire du fait que mDNSResponder est si occupé à faire ce qu'il fait ou si c'est lié à la cause.
MISE A JOUR 2 : cela fait plus de trois semaines. J'ai ajouté une prime de 100 points. Le délai de consultation du DNS a augmenté ; il prend souvent 20 à 30 secondes, et bien qu'il semble y avoir une certaine mise en cache en place, je pense qu'elle a une expiration basée sur le temps, parce que le délai se reproduit plus tard sans redémarrage. Je suis heureux de pouvoir interagir directement avec quelqu'un d'assez compétent pour déboguer et diagnostiquer ce problème. Je suis à l'heure d'été de l'Est aux États-Unis (UTC-4) et je suis généralement disponible pendant les heures de bureau.