Mac网页异常多因DNS缓存过期或污染,需按系统版本执行对应终端命令:Sonoma至Catalina用“sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder”,Mojave至Sierra仅用“sudo killall -HUP mDNSResponder”,El Capitan及更早需先判断进程名再选择命令。

Mac系统下网页打不开、加载慢或跳转到错误地址,很可能是本地DNS缓存里存了过期或被污染的域名解析记录。直接在终端执行对应命令就能清掉这些冗余条目,但【必须按当前macOS版本选对命令】,否则可能只清掉一半,甚至完全没反应。
确认你的macOS版本
点击左上角苹果图标 → “关于本机”,看清系统名称和版本号。这是后续所有操作的前提——Sonoma(14)、Ventura(13)、Monterey(12)、Big Sur(11)、Catalina(10.15)是一套机制;Mojave(10.14)到Sierra(10.12)是另一套;El Capitan(10.11)及更早已基本淘汰,但若仍在用,得单独处理。
按版本执行终端清理命令
按下 Command + 空格,输入“终端”并回车启动应用。
方法一:适用于 macOS Sonoma(14)至 Catalina(10.15)
在终端中粘贴并执行:
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
这是一条复合命令,用 && 保证两个动作严格先后执行,缺一不可。单独运行其中任意一条,都可能漏掉部分缓存。
方法二:适用于 macOS Mojave(10.14)至 Sierra(10.12)
只需执行:
sudo killall -HUP mDNSResponder
dscacheutil 在这些版本中不参与 DNS 缓存管理,加了反而无效。
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
方法三:El Capitan(10.11)及更早(极少数仍在用)
先检查进程名:
ps aux | grep -E '(mDNS|discovery)'
如果输出里含 discoveryd,才执行:
sudo killall -HUP discoveryd
如果只看到 mDNSResponder,就用方法二的命令。乱用 discoveryd 命令在新系统上会报错。
输入密码并完成执行
回车后,终端会提示输入管理员密码。
键入你当前登录用户的密码——输入过程屏幕不显示任何字符,这是正常的安全机制,不要因此怀疑键盘失灵。
输完直接按回车,终端返回新行光标且无报错信息(比如 no such process 或 command not found),即表示命令已成功执行。

















