Com esborrar la memòria cau DNS a OS X Yosemite amb discoveryutil
Taula de continguts:
- Esborra la memòria cau DNS a OS X Yosemite 10.10.4 i OS X 10.10.5
- Esborrar la memòria cau DNS a OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Alguns usuaris de Mac poden trobar situacions en què necessiten esborrar la memòria cau DNS a OS X perquè un servidor de noms es resolgui correctament o perquè el seu ordinador individual noti algun canvi d'adreça DNS. Això és especialment rellevant per als administradors de sistemes, administradors de xarxa i desenvolupadors web, però sens dubte hi ha situacions en què altres usuaris també necessiten bolcar i restablir la memòria cau DNS, com si un usuari ha modificat el fitxer /etc/hosts i necessita els canvis. per tenir efecte sense reiniciar el Mac.
Els usuaris de Mac de llarga data sabran que el restabliment de la memòria cau DNS ha canviat en gairebé totes les versions de Mac OS X, i OS X Yosemite no és diferent, probablement a causa del descobriment que substitueix mDNSResponder i després torna a mDNSResponder una altra vegada. Independentment, esborrar la memòria cau de DNS a Yosemite continua sent una ordre del terminal, però difereix lleugerament en funció de la versió exacta que utilitzeu del sistema operatiu i, en realitat, us permet esborrar DNS multidifusió o DNS unicast, o tots dos. Probablement voldreu esborrar tots dos per a una bona mesura si intenteu restablir totes les memòria cau DNS al Mac.
Esborra la memòria cau DNS a OS X Yosemite 10.10.4 i OS X 10.10.5
Des de OS X 10.10.4 passant a 10.10.5, inclosa la 10.11, Apple ha abandonat discoveryd i l'ha substituït (o millor dit, ha tornat a) mDNSResponder. Així, per esborrar la memòria cau DNS a OS X Yosemite 10.10.4 i 10.11 El Capitan, i presumiblement posteriors, la cadena d'ordres és la següent:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;diu la memòria cau esborrada
Aquesta comanda esborra totes les memòria cau DNS per a OS X 10.10.4+.
Els usuaris de Mac de llarga durada poden recordar que la cadena d'ordres és bàsicament el que funcionava a la versió anterior a Yosemite. Dit això, les versions anteriors d'OS X Yosemite anteriors a la 10.10.4 utilitzaran una cadena d'ordres diferent que es comenta a continuació.
Esborrar la memòria cau DNS a OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Haureu d'utilitzar el Terminal per restablir la memòria cau, podeu trobar l'aplicació Terminal a /Aplicacions/Utilitats/ o iniciar-la amb Spotlight. Per esborrar completament totes les memòries cau de DNS a l'última versió d'OS X, orienteu tant MDNS (DNS multidifusió) com UDNS (DNS unicast) amb dues ordres diferents.
Esborra la memòria cau MDNS
sudo discoveryutil mdnsflushcache
Premeu Retorn i introduïu la contrasenya d'administrador quan se us demani.
Esborra la memòria cau UDNS
sudo discoveryutil udnsflushcaches
Un altre cop, premeu Retorn i introduïu la contrasenya d'administrador quan se us demani. Tingueu en compte que caches és plural amb l'última ordre, una diferència de sintaxi subtil però important.
Esborra i restabliu totes les memòria cau DNS a OS X Yosemite
També podeu encadenar les dues ordres anteriors si voleu, fins i tot el següent anunciarà verbalment quan s'hagin esborrat la memòria cau:
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;diguem flushed
De fet, les memòria cau MDNS i UDNS són diferents, però he descobert que perquè la memòria cau DNS funcional s'esborri a OS X Yosemite ambdues ordres són necessàries. És totalment possible que només necessiteu netejar un o l' altre per a les vostres pròpies necessitats.
Per a aquells que es preguntin, OS X Yosemite ha suprimit mDNSResponder, de manera que no cal eliminar aquest procés mDNSResponder per actualitzar la memòria cau DNS com en versions anteriors de Mac OS X.
Comprovació dels detalls de la memòria cau DNS a OS X Yosemite
Si canvieu o aneu a canviar el DNS i voleu veure alguns detalls sobre el que s'emmagatzema actualment a la memòria cau, podeu utilitzar les ordres següents:
Obtenir estadístiques de memòria cau UDNS:
sudo discoveryutil udnscachestats
També podeu recuperar informació específica sobre la memòria cau DNS multicast amb el següent:
sudo discoveryutil mdnscachestats
Tots dos oferiran detalls sobre el nombre d'entrades de DNS emmagatzemades a la memòria cau, oferint un informe que hauria de semblar a aquest:
UDNS Estadístiques de la memòria cau: 962 de 1750 en memòria cau
Si executeu aquestes ordres abans i després d'executar les variacions de flushcache, trobareu que s'han de restablir a la memòria cau d'entrades 0, així:
Estadístiques de la memòria cau de MDNS: lo0: 0 a la memòria cau de 2000
Com saps si ha canviat?
Després d'haver buidat la memòria cau, si voleu determinar si un servidor de noms o una IP ha canviat realment, podeu utilitzar l'ordre "excavar" amb l'URL així:
dig osxdaily.com
dig és similar a nslookup, excepte que té una millor sortida i uns quants detalls més inclosos, inclòs el temps de consulta, el servidor DNS establert que s'utilitza per accedir al domini i una marca de temps, que es pot valuós per resoldre problemes amb el servidor de noms. Per cert, si el temps de consulta per això es mostra lent, hauríeu d'utilitzar una eina com namebench per trobar un servidor DNS més ràpid per a vos altres, sovint Google DNS o OpenDNS.
Coneixes un altre truc de memòria cau DNS per a les últimes versions d'OS X? Fes-nos-ho saber als comentaris.