如何清除 Mac 上的 DNS 缓存:手动和自动删除
域名系统 (DNS) 是互联网访问的基本要素之一。将您在地址栏中输入的名称转换为 IP,它可以让您访问所需的网站。与任何其他系统一样,它将数据存储在缓存中,缓存就像 Mac 在尝试加载网站时所引用的内存一样。但是,有时会出现问题,导致您无法访问网站。如果是这种情况,请尝试刷新 DNS 缓存。这不是一项困难的任务,我们将引导您完成在不同 macOS 版本上重置 DNS 所需的步骤。

什么是 DNS 缓存
那么什么是DNS缓存呢?它是归因于您上次访问的网站的域名列表。这与最近的在线历史不一样。域名信息以数字编码,例如174.142.192.113。
当网站迁移到新域时,其 DNS 地址会发生变化。当然,由于您的 Mac 仍依赖于过时的 DNS 记录,因此它会变得无法访问。
因此,DNS 缓存是一个日志,它将这些数字信息转换为人类可读的网站名称。清理 DNS 缓存后,您可能会注意到某些网站加载速度较慢 — 这是完全正常的。您的 Mac 忘记了它们并正在尝试从头开始访问它们。
为什么要刷新 DNS 缓存
刷新 DNS 缓存有多种原因。但最主要的是,它可以使您使用的浏览器速度更快,从而帮助改善您的浏览体验。由于清空存储的缓存文件,它还可以提高浏览器的性能。
刷新 DNS 缓存有什么作用?
当您刷新 DNS 缓存时,它会删除计算机本地存储的缓存,从而迫使您的设备在发出新的 DNS 请求后再次从 DNS 服务器检索此信息。
有几种不同的方法可以在 Mac 上刷新 DNS 缓存。首先,我们将展示最简单的一个 - 在 Mac 清洁应用程序的帮助下自动删除。然后,我们将继续执行手动步骤。
1. 如何一键刷新DNS
正如我们上面所解释的,您可以手动删除这些过时的缓存文件。然而,有一种更简单的方法——使用应用程序。据我们所知,唯一能做到这一点的应用程序是 MacPaw 的 CleanMyMac。这是一款知名的Mac维护应用程序,也经过Apple公证。
刷新 DNS 缓存恰好是其功能库中可以帮助您做到这一点的功能。要使用 CleanMyMac 刷新 DNS 缓存,您所需要做的就是下载它 — 您可以在此处免费下载。

当您安装 CleanMyMac 时,可以在“性能”选项卡中找到此选项。请参阅上面的屏幕截图。当您单击“运行”时,缓存将自动清除,并且您的互联网设置应该得到优化。
另一件值得尝试的事情是清除浏览器缓存本身(与清除 DNS 列表不同)。如果您打开 CleanMyMac,您可以为所有浏览器自动执行此操作。
这应该可以解决与访问相关的小问题并释放空间。
建议阅读:Mac 上的错误代码 -36:5 个手动修复和 1 个自动解决方案
- 打开 CleanMyMac。
- 单击边栏中的“清理”选项卡 >“扫描”>“查看所有垃圾”。
- 查看找到的项目列表并单击“清理”。

这应该很容易——一切都应该恢复正常。或者您可以尝试以下一种或多种方法。
_1561977534.png)
2. 如何在终端中刷新 DNS 缓存
您熟悉终端吗?如果没有,没问题。您需要做的就是打开终端应用程序并粘贴几个命令。
- 打开 Dock 中的 Launchpad,然后在搜索栏中输入“终端”。
- 在命令行中输入以下语法:
- 按 Return 键,输入密码,然后再次按 Return 键。
- 退出终端。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder


3. 如何清除旧版 macOS 上的 DNS 缓存
算法是一样的;对于每个操作系统,只有终端中的复制/粘贴命令会有所不同。
| macOS 或Mac OS X版本 | 终端命令 |
| macOS 文图拉 macOS 蒙特利 macOS 大苏尔 macOS Catalina |
|
| macOS 莫哈维 macOS 高山脉 macOS 塞拉利昂 OS X 山狮 Mac OS X 狮子 |
sudo killall -HUP mDNSResponder |
| Mac OS X 埃尔卡皮坦 OS X 小牛队 |
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
| OS X 优胜美地 | sudo discoveryutil mdnsflushcache; sudo discoveryutil udnsflushcaches |
| Mac OS X 雪豹 Mac OS X 豹 |
sudo dscacheutil -flushcache |
| Mac OS X 老虎 | lookupd -flushcache |
4. 如何在 Linux 上刷新 DNS 缓存
在清除 Linux 上的 DNS 缓存之前,您需要确保 systemd-resolved 处于活动状态。打开终端窗口,然后输入以下命令:
sudo systemctl is-active systemd-resolved
如果您看到“活动”,请输入命令来刷新 DNS 缓存:
sudo systemd-resolve --flush-caches
没有成功消息,但您可以通过运行下一个命令来检查是否有效:
sudo systemd-resolve --statistics
如果您看到当前缓存大小为 0,则您已成功刷新所有 DNS 缓存。
清除 Mac 上的 DNS 缓存并不是您需要经常执行的操作,但它是解决命名服务器错误的好方法。使用适合您的操作系统的正确命令,您将能够在几秒钟内解决问题。
常见问题解答
我是否需要管理员权限才能刷新 Mac 上的 DNS 缓存?
是的。这是因为你需要使用sudo在命令中,如果没有管理员权限,您将无法运行它。
刷新 DNS 缓存是否会清除浏览历史记录、cookie 或保存的密码?
不,它与任何浏览器相关的数据无关。它仅清除 DNS 记录。
在 Mac 上刷新 DNS 缓存的替代方法有哪些?
如果上述方法看起来技术性太强,您可以尝试在浏览器中进行硬刷新。刷新过时 DNS 条目的另一种方法是删除浏览器缓存。
