Hvordan stopper man mDNSResponder fra at bruge 90-100% CPU kontinuerligt for evigt på Catalina?

Jeg har lige opgraderet min 2018 15″ MacBook Pro fra Mojave til Catalina (10.15.4). Det har været et par timer.

En af de første ting, jeg gjorde efter opgraderingen, var at redigere en video ved hjælp af den nye gratis prøveversion af Final Cut Pro X. Min bærbare computers køleblæsere kørte på fuld hastighed hele tiden, men der var altid baggrundsrendering i gang, så jeg tænkte, at det var normalt.

Når jeg var færdig og afsluttede FCP, snurrede blæserne ikke ned, så jeg tjekkede Aktivitetsovervågning og opdagede, at mDNSResponder tager 90-100 % af CPU’en kontinuerligt. Kolonnen Tråde i Aktivitetsovervågning viser 3-4 tråde det meste af tiden; de 100 % er fordelt på alle disse, og de er ikke alle på den samme kerne. Jeg er ikke sikker på, hvordan det lykkes den at gøre det og stadig sidde på eller lige under 100% det meste af tiden, men det er det, den gør.

screenshot af Activity Monitor

Den bærbare computer har seks kerner (12 logiske), så at have en kerne fuldt optaget gør ikke en mærkbar forskel i ydeevnen (medmindre jeg begynder at måle, hvor lang tid tingene tager — men det er at bemærke, at tallene er forskellige – ikke at ydeevnen er forskellig!).

Bemærk: I det samlede billede viser søjlediagrammerne, at mere end én fuld kerne er udnyttet. Dette er forventeligt. Jeg har en søgning anvendt i mit skærmbillede fra Activity Monitor, og der er masser af andre ting i gang – Slack er åben, Chrome med elleve milliarder faner, IntelliJ IDEA indekserer sandsynligvis noget, osv.

Jeg prøvede at genstarte mDNSResponder med disse kommandoer:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plistsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Jeg så processen forsvinde, så jeg ved, at kommandoen virkede, men den vendte straks tilbage til 100 % CPU-forbrug, da jeg startede den op igen. mDNSResponderHelper stoppede ikke, så jeg prøvede igen, idet jeg indsatte sudo killall mDNSResponderHelper som et mellemliggende trin. Dette fik begge processer til at forsvinde, som jeg havde tænkt mig, men løste stadig ikke problemet.

Jeg prøvede også at sende et HUP-signal til mDNSResponder på følgende måde:

sudo killall -HUP mDNSResponder

Det havde heller ingen effekt.

Jeg åbnede Console, indtastede mdnsresponder i søgefeltet og så beskederne flyde forbi i et minut eller to. Nogle ting om Bonjour, MASSER af <private> og nogle ret normalt udseende DNS-forespørgselslogning. Jeg prøvede at deaktivere både Bluetooth og Wifi i håb om at påvirke Bonjour, men jeg er på en fast kablet Ethernet-forbindelse (som jeg ikke afbrød), og det så ikke ud til at have nogen effekt.

Efter at have skrevet dette bemærkede jeg til sidst, at cloudphotosd også optog en ordentlig klump CPU. Jeg antog, at det var den berygtede reindexeringsproces, der ofte sker efter OS-opgraderinger, der gennemgår mit (ret store) fotobibliotek, opdaterer metadata baseret på de nye funktioner, der kom med Catalina, og uploader disse ændringer til iCloud. Det ville forklare en vis konstant netværksaktivitet, og derfor tænkte jeg, at det måske ville forklare mDNSResponders aktivitet. Så jeg lod dette vindue stå åbent uden at indsende og ventede et stykke tid for at se, om cloudphotosd ville falde til ro. Det gjorde den, men det gjorde mDNSResponder ikke. Så meget for den fornemmelse!

Sluttelig prøvede jeg at genstarte min Mac; mDNSResponder spildte ingen tid på at komme tilbage til arbejdet. Uden nogen programmer, der kørte efter en ny opstart, lå den allerede konsekvent på eller lige under 100 %, ligesom før.

Dette er et Q&A-websted, og jeg har ikke stillet et spørgsmål, så her kommer det: Hvordan finder jeg ud af, hvad den laver, og hvordan får jeg den til at stoppe?

OPDATERING: Det er næsten 48 timer siden, og den kører stadig løs. Min batterilevetid stinker nu. Jeg har observeret, at det ser ud til at lukke låget til den bærbare computer for at få den til at stoppe, men den kommer straks tilbage, når jeg åbner den igen. Jeg har også bemærket et yderligere symptom: Første gang DNS-opslag efter en genstart tager ~2 sekunder (jeg ville forvente <200ms). Jeg er ikke sikker på, om det blot er en bivirkning af, at mDNSResponder har så travlt med at gøre, hvad det end gør, eller om det er relateret til årsagen.

UPDATE 2: Det er mere end tre uger siden. Jeg har tilføjet en dusør på 100 reps. DNS-opslagsforsinkelsen er steget; det tager ofte 20-30 sekunder, og selv om der tilsyneladende er noget caching på plads, tror jeg, at der er en tidsbaseret udløbsdato på det, fordi forsinkelsen opstår igen senere uden en genstart. Jeg er glad for at interagere direkte med en person, der har tilstrækkelig viden til at debugge og diagnosticere dette problem. Jeg er på Eastern Daylight Time i USA (UTC-4) og er generelt tilgængelig i forretningstiden.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.