Cum să opriți mDNSResponder de la a utiliza 90-100% CPU continuu pentru totdeauna pe Catalina?

Tocmai mi-am actualizat MacBook Pro 2018 15″ de la Mojave la Catalina (10.15.4). A trecut câteva ore.

Unul dintre primele lucruri pe care le-am făcut după actualizare a fost să editez un videoclip folosind noua versiune de încercare gratuită a Final Cut Pro X. Ventilatoarele de răcire ale laptopului meu au funcționat la viteză maximă tot timpul, dar a existat întotdeauna o redare de fundal în curs de desfășurare, așa că m-am gândit că este normal.

Când am terminat și am ieșit din FCP, ventilatoarele nu se mai învârteau, așa că am verificat Monitorul de activitate și am descoperit că mDNSResponder ocupa continuu 90-100% din CPU. Coloana Fire de execuție din Activity Monitor indică 3-4 fire de execuție în cea mai mare parte a timpului; procentul de 100% este răspândit pe toate acestea, și nu sunt toate pe același nucleu. Nu sunt sigur cum reușește să facă asta și să stea la sau chiar sub 100% în cea mai mare parte a timpului, dar asta este ceea ce face.

Captură de ecran a Monitorului de activitate

Laptopul are șase nuclee (12 logice), așa că faptul că un nucleu este ocupat complet nu face o diferență notabilă în ceea ce privește performanța (cu excepția cazului în care încep să măsor cât de mult durează lucrurile – dar asta înseamnă să observi că numerele sunt diferite – nu că performanța este diferită!).

Nota: În ansamblu, graficele de bare arată că sunt utilizate mai mult de un nucleu complet. Acest lucru este de așteptat. Am o căutare aplicată în captura de ecran din Monitorul de activitate și se întâmplă o mulțime de alte lucruri – Slack este deschis, Chrome cu unsprezece miliarde de file, IntelliJ IDEA probabil indexează ceva și așa mai departe.

Am încercat să repornesc mDNSResponder folosind aceste comenzi:

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

Am văzut cum a dispărut procesul, așa că știu că comanda a funcționat, dar a revenit imediat la 100% utilizare CPU când l-am pornit din nou. mDNSResponderHelper nu s-a oprit, așa că am încercat din nou, introducând sudo killall mDNSResponderHelper ca un pas intermediar. Acest lucru a făcut ca ambele procese să dispară așa cum intenționam, dar tot nu a rezolvat problema.

Am încercat, de asemenea, să trimit un semnal HUP către mDNSResponder după cum urmează:

sudo killall -HUP mDNSResponder

De asemenea, acest lucru nu a avut niciun efect.

Am deschis Consola, am introdus mdnsresponder în câmpul de căutare și am privit mesajele curgând timp de un minut sau două. Câteva chestii despre Bonjour, O MULȚIME de <private>, și niște înregistrări de interogări DNS care arătau destul de normal. Am încercat să dezactivez atât Bluetooth cât și Wifi în speranța de a afecta Bonjour, dar sunt pe o conexiune Ethernet cu fir (pe care nu am deconectat-o) și nu a părut să aibă nici un efect.

După ce am scris asta, am observat în cele din urmă că cloudphotosd ocupa și el o bucată sănătoasă de CPU. Am presupus că acesta era procesul notoriu de reindexare care se întâmplă frecvent după actualizările sistemului de operare, trecând prin biblioteca mea foto (destul de mare), actualizând metadatele pe baza oricăror caracteristici noi venite cu Catalina și încărcând aceste modificări în iCloud. Acest lucru ar explica o activitate constantă a rețelei, așa că m-am gândit că poate asta ar explica activitatea mDNSResponder. Așa că am lăsat această fereastră deschisă fără a trimite și am așteptat o vreme pentru a vedea dacă cloudphotosd se va calma. S-a liniștit, dar mDNSResponder nu a făcut-o. Cam atât despre această bănuială!

În cele din urmă, am încercat să-mi repornesc Mac-ul; mDNSResponder nu a pierdut timpul și s-a întors la treabă. Fără nici o aplicație care să ruleze după o nouă pornire, deja stătea în mod constant la sau chiar sub 100%, la fel ca înainte.

Acesta este un site de întrebări&A, și nu am pus nici o întrebare, așa că iată cum începe: cum îmi dau seama ce face și cum îl fac să se oprească?

UPDATE: au trecut aproape 48 de ore și încă se mai agită. Viața bateriei mele e nașpa acum. Am observat că închiderea capacului laptopului pare să-l facă să se oprească, dar revine imediat când îl deschid din nou. Am observat, de asemenea, un simptom suplimentar: primele căutări DNS după o repornire durează ~2 secunde (m-aș aștepta la <200ms). Nu sunt sigur dacă acesta este pur și simplu un efect secundar al faptului că mDNSResponder este atât de ocupat să facă orice face sau dacă are legătură cu cauza.

UPDATE 2: au trecut mai mult de trei săptămâni. Am adăugat o recompensă de 100-rep. Întârzierea de căutare DNS a crescut; adesea durează 20-30 de secunde și, deși se pare că există o anumită memorie cache, cred că are o expirare bazată pe timp, deoarece întârzierea reapare mai târziu fără o repornire. Sunt bucuros să interacționez direct cu cineva suficient de bine informat pentru a depana și diagnostica această problemă. Sunt la ora de vară din estul Statelor Unite (UTC-4) și, în general, sunt disponibil în timpul orelor de lucru.

Lasă un răspuns

Adresa ta de email nu va fi publicată.