Mac网页打不开、加载慢、域名解析异常,八成是本地DNS缓存过期或污染所致,须按系统版本执行终端命令:Sonoma至Catalina用sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder,Mojave至Sierra仅用sudo killall -HUP mDNSResponder,El Capitan及更早需先查进程再执行对应命令。

Mac网页打不开、加载慢、域名解析异常,八成是本地DNS缓存里存了过期或被污染的IP地址,必须用终端精准清除才能恢复——不是重启电脑、不是换浏览器就能绕过的底层问题。
确认你的macOS版本再执行命令
第一步:按 Command + 空格 打开 Spotlight,输入“关于本机”并回车,看顶部显示的系统版本号。
第二步:根据版本选择对应命令——
方法一(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 及更早):
先运行 ps aux | grep -E '(mDNS|discovery)' 查进程名;若输出含 discoveryd,则执行:
sudo killall -HUP discoveryd;若含 mDNSResponder,则执行:
sudo killall -HUP mDNSResponder
用一条命令确保双重生效(推荐新手)
这条命令把缓存清空和进程重启绑在一起,用 && 强制顺序执行,避免因系统调度延迟导致只清了缓存没重启服务——这是很多人执行后仍不生效的真正原因。
① 打开“终端”应用。
② 复制粘贴以下整行命令(注意是英文分号,不是中文):
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
③ 按回车,输入管理员密码(屏幕不显示字符,输完直接回车)。
④ 终端返回新提示符且无报错,即完成。
关闭再重开Wi-Fi
此操作会触发网络栈重置,强制系统丢弃当前DNS缓存并重新建立解析路径,无需命令行操作,适合快速验证或临时缓解问题。
点击右上角 Wi-Fi 图标 → 选择“关闭 Wi-Fi” → 等待 5 秒 → 再次点击图标 → 选择你原来的网络连接。
【注意】此法不会清除全部缓存,仅刷新与当前网络接口关联的部分记录,对跨网络或全局缓存无效。
验证DNS是否真被刷新
光看终端没报错不等于成功。缓存清了但系统还在用错误的DNS服务器,问题照旧。
在终端中运行:
scutil --dns
重点检查输出中的 nameserver 行——如果全是 192.168.x.x 或 10.x.x.x,说明还在用路由器分配的DNS,极可能被劫持;应手动换成 1.1.1.1 或 8.8.8.8。


















