Acabo de actualizar mi MacBook Pro de 15" de 2018 de Mojave a Catalina (10.15.4). Han pasado unas horas.
Una de las primeras cosas que hice tras la actualización fue editar un vídeo con la nueva versión de prueba gratuita de Final Cut Pro X. Los ventiladores de mi portátil funcionaban a toda velocidad todo el tiempo, pero siempre había renderización de fondo, así que supuse que era normal.
Cuando terminé y salí de FCP, los ventiladores no giraron, así que revisé el Monitor de Actividad y descubrí que mDNSResponder está tomando el 90-100% de la CPU continuamente. La columna de hilos en el Monitor de Actividad indica 3-4 hilos la mayor parte del tiempo; el 100% se reparte entre todos ellos, y no están todos en el mismo núcleo. No estoy seguro de cómo se las arregla para hacer eso y seguir sentado en o justo por debajo del 100% la mayor parte del tiempo, pero eso es lo que está haciendo.
El portátil tiene seis núcleos (12 lógicos), por lo que tener un núcleo totalmente ocupado no supone una diferencia notable en el rendimiento (a no ser que empiece a medir lo que tardan las cosas, pero eso es notar que los números son diferentes, ¡no que el rendimiento sea diferente!)
Nota: En el conjunto, los gráficos de barras muestran la utilización de más de un núcleo completo. Esto es de esperar. Tengo una búsqueda aplicada en mi captura de pantalla del Monitor de Actividad, y hay un montón de otras cosas en marcha - Slack está abierto, Chrome con oncecientos millones de pestañas, IntelliJ IDEA probablemente está indexando algo, y así sucesivamente.
Intenté reiniciar mDNSResponder usando estos comandos:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
He visto desaparecer el proceso, así que sé que el comando ha funcionado, pero inmediatamente ha vuelto a utilizar el 100% de la CPU cuando lo he vuelto a iniciar. mDNSResponderHelper
no se detuvo, así que lo intenté de nuevo, insertando sudo killall mDNSResponderHelper
como paso intermedio. Esto hizo que ambos procesos desaparecieran como pretendía, pero siguió sin solucionar el problema.
También intenté enviar una señal HUP a mDNSResponder de la siguiente manera:
sudo killall -HUP mDNSResponder
Esto tampoco tuvo ningún efecto.
Abrí la Consola, introduje mdnsresponder
en el campo de búsqueda, y observé los mensajes durante uno o dos minutos. Algunas cosas sobre Bonjour, MUCHAS <private>
y un registro de consultas DNS de aspecto bastante normal. Intenté desactivar tanto el Bluetooth como el Wifi con la esperanza de que afectara a Bonjour, pero estoy en una conexión Ethernet por cable (que no desconecté) y no pareció tener ningún efecto.
Después de escribir esto, me di cuenta de que cloudphotosd también estaba ocupando una buena parte de la CPU. Supuse que se trataba del famoso proceso de reindexación que ocurre con frecuencia después de las actualizaciones del sistema operativo, revisando mi (bastante grande) biblioteca de fotos, actualizando los metadatos en base a las nuevas características que vienen con Catalina, y subiendo esos cambios a iCloud. Eso explicaría alguna actividad constante en la red, y entonces pensé que tal vez eso explicaría la actividad de mDNSResponder. Así que dejé esta ventana abierta sin enviar y esperé un rato para ver si cloudphotosd se calmaba. Lo hizo, pero mDNSResponder no. Hasta aquí la corazonada.
Finalmente, probé a reiniciar mi Mac; mDNSResponder no perdió tiempo en volver a funcionar. Sin ninguna aplicación en marcha después de un nuevo arranque, ya estaba constantemente sentado en o justo por debajo del 100%, al igual que antes.
Este es un sitio de preguntas y respuestas, y no he hecho ninguna pregunta, así que aquí va: ¿cómo puedo averiguar qué está haciendo y cómo puedo hacer que deje de hacerlo?
ACTUALIZACIÓN: ya han pasado casi 48 horas y sigue funcionando. La vida de mi batería es una mierda ahora. He observado que cerrar la tapa del portátil parece hacer que se detenga, pero vuelve enseguida cuando la abro de nuevo. También he notado un síntoma adicional: las primeras búsquedas de DNS después de un reinicio tardan ~2 segundos (yo esperaría <200ms). No estoy seguro de si eso es simplemente un efecto secundario de mDNSResponder estar tan ocupado haciendo lo que sea que está haciendo o si está relacionado con la causa.
ACTUALIZACIÓN 2: han pasado más de tres semanas. He añadido una recompensa de 100 puntos. El retraso en la búsqueda de DNS ha aumentado; a menudo tarda entre 20 y 30 segundos, y aunque parece que hay algo de caché, creo que tiene una caducidad basada en el tiempo, porque el retraso vuelve a producirse más tarde sin reiniciar. Estoy encantado de interactuar directamente con alguien con conocimientos suficientes para depurar y diagnosticar este problema. Estoy en el horario de verano de los Estados Unidos (UTC-4) y generalmente estoy disponible durante las horas de trabajo.