mac网页打不开或加载慢常因dns缓存错误,需按系统版本执行对应命令:sonoma至catalina用sudo dscacheutil -flushcache && sudo killall -hup mdnsresponder;mojave至sierra仅用后者;el capitan及更早需检查discoveryd。

Mac系统下遇到网页打不开、加载缓慢或域名解析失败,很可能是本地DNS缓存中存了过期、错误或被污染的解析记录。直接在终端执行对应命令就能清除,但【必须按当前macOS版本选对命令】,否则可能只清掉一半,甚至完全无效。
先确认你的 macOS 版本
点击左上角苹果图标 → “关于本机”,查看系统版本号。不同版本底层管理 DNS 缓存的服务不同:Sonoma(14)至 Catalina(10.15)由 dscacheutil 和 mDNSResponder 协同管理;Mojave(10.14)至 Sierra(10.12)仅依赖 mDNSResponder;El Capitan(10.11)及更早已基本淘汰,若仍在使用,需先检查是否运行 discoveryd 进程。
打开终端并执行对应命令
按下 Command + 空格 → 输入“终端” → 回车启动。
根据你刚查到的系统版本,粘贴并执行以下命令(注意大小写和空格):
——若为 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)' && sudo killall -HUP discoveryd(仅当输出含 discoveryd 时才执行)
回车后提示输入管理员密码——输入时屏幕不显示字符,输完直接按回车。终端返回新行且无报错,即表示成功。
用复合命令确保双重生效(推荐)
该方法将缓存清空与服务重启合并为单条原子化指令,适用于所有支持 dscacheutil 的 macOS 版本(Catalina 及以上)。它通过 && 运算符强制顺序执行,避免因进程调度延迟导致残留。
第一步:打开“终端”应用程序。
第二步:复制并粘贴以下完整命令:
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
第三步:按回车提交命令。
第四步:在密码提示下输入管理员密码并回车。
终端依次完成缓存清空与 mDNSResponder 进程重启,两个动作均成功后 DNS 缓存即被彻底刷新。
关闭再开启 Wi-Fi 快速验证
这一步不执行命令,但能触发网络栈重置,强制系统丢弃当前 DNS 缓存并重新建立解析路径。适合快速判断问题是否由 DNS 缓存引起。
点击右上角 Wi-Fi 图标 → 选择“关闭 Wi-Fi” → 等待 5 秒 → 再次点击 → 选择同一网络重新连接。
【注意】此操作不会清除系统级 DNS 缓存,仅作为临时缓解或验证手段,不能替代终端命令。
检查并清理代理与 hosts 干扰
错误配置的代理或手动修改过的 /etc/hosts 文件会绕过 DNS 查询,导致看似“缓存未清”的假象。
打开“系统设置” → “网络” → 选择当前连接(如 Wi-Fi)→ 点击“详细信息” → 切换到“代理”标签页 → 确保所有代理协议均未勾选,相关地址字段为空。
同时,在终端中执行:
cat /etc/hosts
若看到大量非系统默认条目(如 127.0.0.1 example.com),可临时注释掉可疑行,或备份后清空该文件内容(需 sudo 权限)。










