日常使用mac上网时,不少人都会遇到部分网页打不开、加载速度异常缓慢,甚至明明网络连接正常却无法访问站点的问题,这种情况排除运营商网络故障后,大概率是本地dns缓存出错导致的——dns缓存会存储你访问过站点的解析记录,出错后就会引导你到错误的ip。通过终端命令清理dns缓存是最快的解决方法,本文从多个维度整理操作方法,帮你快速解决问题。
不同macos版本对应的清理命令
由于macos多年迭代更新,不同大版本的系统服务逻辑不同,清理dns的命令也有区别,选错命令会直接导致清理失败,确认系统版本后选择对应命令即可:如果你使用的是2016年后发布的macos 10.12 sierra及更新版本(包括目前主流的ventura、sonoma等),通用命令为:`sudo dscacheutil -flushcache; sudo killall -hup mdnsresponder`;如果你使用的是2014-2015年的os x 10.10 yosemite,对应命令为:`sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches`;更早的os x 10.9及以下旧版本,仅需输入命令`sudo dscacheutil -flushcache`即可完成清理。

具体操作步骤详解
很多新手用户不知道怎么调用终端操作,完整步骤非常简单:第一步打开终端,你可以通过两种方式快速打开:按下快捷键「command+空格」调出聚焦搜索,输入「终端」后按下回车即可打开;也可以打开启动台,进入「其他」文件夹,点击「终端」图标打开。第二步复制对应你系统版本的命令,粘贴到终端窗口中,按下回车键。第三步此时终端会提示输入密码,这里输入你的mac开机管理员密码即可,需要注意的是,输入密码的过程中终端不会显示任何字符,这是mac终端的正常安全设计,输完后直接回车即可,命令执行完成就完成了dns清理。
清理完成后的验证与注意事项
完成操作后,你可以简单验证是否生效:打开浏览器访问之前无法打开的网页,如果能正常加载就说明清理成功;也可以在终端输入「nslookup www.baidu.com」,查看返回的解析ip是否正常,无异常就说明缓存已经更新。注意事项方面,清理dns需要管理员权限,访客账号无法完成操作,需要切换到管理员账号;其次不需要定期清理dns缓存,缓存本身的作用是加快域名解析,频繁清理反而会降低访问速度;如果清理后仍然无法正常上网,就要排查是否是dns服务器配置错误、路由器故障或者运营商网络问题了。全文约712字。



































