MacBook DNS缓存清理需按系统版本执行终端命令:Sonoma至Catalina用“sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder”,Mojave至Sierra仅需“sudo killall -HUP mDNSResponder”,El Capitan及更早同前者;也可用复合命令“sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder”确保双重刷新;图形化工具如CleanMyMac X或OnyX提供一键清理;还需检查并禁用网络代理设置;最后通过重新访问网站或运行“scutil --dns”验证解析是否恢复正常。

如果您在MacBook上遇到网页加载异常、域名解析失败或刚修改DNS设置后未生效等问题,很可能是本地DNS缓存中仍保留过期或错误的解析记录。以下是针对不同场景和系统版本的DNS缓存清理方法:
一、使用终端命令按版本精准清除
macOS通过mDNSResponder服务管理DNS缓存,不同系统版本依赖的清理机制存在差异,执行对应命令可确保服务重置并清空缓存。
1、按下Command + 空格调出Spotlight搜索,输入“终端”并回车启动应用。
2、根据您的macOS版本,在终端中输入以下任一命令:
——若运行macOS Sonoma(14)、Ventura(13)、Monterey(12)、Big Sur(11)或Catalina(10.15):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
——若运行macOS Mojave(10.14)、High Sierra(10.13)或Sierra(10.12):
sudo killall -HUP mDNSResponder
——若运行macOS El Capitan(10.11)及更早版本:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
3、输入命令后按回车,系统将提示输入管理员密码。
4、键入当前用户登录密码(输入时无任何字符显示),再按回车确认执行。
5、终端返回新行光标即表示命令已执行完毕,无需等待成功提示,此时缓存已清除。
二、执行复合命令确保双重刷新
该方法将缓存刷新与服务重启合并为单条指令,避免因执行顺序或服务响应延迟导致清理不彻底,适用于所有支持dscacheutil的macOS版本。
1、打开“终端”应用程序。
2、复制并粘贴以下完整命令:
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
3、按回车键提交命令。
4、在密码提示下输入管理员密码并回车。
5、系统将依次完成缓存清空与mDNSResponder进程重启,两个动作均成功执行后缓存即被彻底刷新。
三、借助图形化工具一键清理
对于不熟悉命令行操作的用户,经苹果公证的第三方维护工具可在图形界面中安全调用系统底层命令,规避手动输入错误风险,并提供操作反馈。
1、下载并安装已通过Apple Notarization验证的工具,例如CleanMyMac X或OnyX。
2、启动软件后,进入“维护”功能模块(CleanMyMac X)或“自动化” > “DNS缓存刷新”(OnyX)。
3、在任务列表中定位并勾选“刷新DNS缓存”或“重置DNS缓存”选项。
4、点击“运行”按钮,工具将自动执行等效于终端命令的系统调用。
5、进度完成后,界面会显示“已完成”提示,此时DNS缓存已被工具后台命令清除。
四、同步检查并重置网络代理设置
错误启用的HTTP/HTTPS/SOCKS代理可能劫持DNS查询路径,导致缓存刷新无效或解析持续失败,需一并排查。
1、点击屏幕左上角苹果菜单,选择“系统设置”。
2、进入“网络”,在左侧选择当前活跃连接(如“Wi-Fi”)。
3、点击右侧“详细信息”按钮,切换至“代理”标签页。
4、检查“Web代理(HTTP)”、“安全Web代理(HTTPS)”及“SOCKS代理”是否处于启用状态。
5、若非必要,请取消全部代理协议的勾选,并清空“代理 服务器地址”与“端口”字段。
6、点击“完成”保存更改,代理配置重置后将不再干扰DNS解析流程。
五、验证缓存是否已更新
macOS不提供缓存内容查看接口,但可通过触发新的DNS查询行为间接确认缓存是否刷新,避免误判操作失败。
1、关闭所有浏览器窗口及正在运行的网络应用。
2、重新启动Safari或Chrome,访问此前异常的网站。
3、若页面正常加载且无“无法连接”或“DNS_PROBE_FINISHED_NXDOMAIN”类错误,则说明系统已发起全新DNS查询。
4、可进一步在终端中执行scutil --dns命令,观察输出中的DNS服务器列表是否与当前网络配置一致,配置匹配即表明解析路径已回归正常状态。











