如何在 macOS 上清除 DNS 缓存
8 分钟阅读
#dns#macos#network#maintenance#terminal
如何在 macOS 上清除 DNS 缓存
网站换了服务器、路由器返回错误地址时,Mac 仍可能继续使用旧 IP。应用通过** DNS 缓存**记住解析结果以少问网络。
**刷新(清空)**这些缓存会迫使 macOS 重新解析,常能修复「手机能开 Mac 不行」、开发域名卡住、或修改 /etc/hosts 后仍用旧记录等问题。
实际在清什么
- 目录服务缓存 — 通常用
dscacheutil -flushcache。 - mDNSResponder — 发送
HUP让其重载解析器状态。
具体行为随 macOS 版本变化;实践中两步都做(与 NythyCleaner 一致)仍是常见排错流程。
说明:这不等于只清某一个浏览器的 DNS。若仅单个浏览器异常,先试强制刷新或无痕窗口;所有应用都错,再清系统缓存。
方法一:终端
打开终端(/应用程序/实用工具/终端.app)。
dscacheutil -flushcache
sudo killall -HUP mDNSResponder
或一行:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
然后 ping example.com 或重新打开网站。
方法二:NythyCleaner 维护
刷新 DNS任务会依次执行:
/usr/bin/dscacheutil -flushcache/usr/bin/killall -HUP mDNSResponder(若当前系统不需要,失败会被忽略)
与应用内维护任务运行器中的实现一致,可与 Spotlight、LaunchServices 等任务一起使用,且执行前需确认。
何时有用
- 更换 DNS 服务器(路由器、VPN、公共 DNS)之后。
- 网站迁移后仍解析到旧 IP。
- 编辑
/etc/hosts做本地开发之后。 - 网络排查时只有域名解析不对。
何时没用
- 根本没有连通性。
- 服务器 / CDN 故障。
- 强制门户或 VPN 分流配置问题。
- 只有某一个浏览器异常。
常见问题
安全吗?
一般不涉及删除个人文档,只是强制重新做 DNS 查询。
NythyCleaner 会改我的 DNS 服务器吗?
不会,只执行上述清缓存 + 信号步骤。
结语
在 macOS 上刷新 DNS:dscacheutil -flushcache 与 killall -HUP mDNSResponder(通常需 sudo),或使用 NythyCleaner 维护 → 刷新 DNS 一步完成相同操作。