如何清除 Mac 上的 DNS 缓存:手动和自动删除

Ella

域名系统 (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 个自动解决方案

  1. 打开 CleanMyMac。
  2. 单击边栏中的“清理”选项卡 >“扫描”>“查看所有垃圾”。
  3. 查看找到的项目列表并单击“清理”。

这应该很容易——一切都应该恢复正常。或者您可以尝试以下一种或多种方法。

2. 如何在终端中刷新 DNS 缓存

您熟悉终端吗?如果没有,没问题。您需要做的就是打开终端应用程序并粘贴几个命令。

  1. 打开 Dock 中的 Launchpad,然后在搜索栏中输入“终端”。
  2. 在命令行中输入以下语法:
  3. sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

  4. 按 Return 键,输入密码,然后再次按 Return 键。
  5. 退出终端。

3. 如何清除旧版 macOS 上的 DNS 缓存

算法是一样的;对于每个操作系统,只有终端中的复制/粘贴命令会有所不同。

macOS 或Mac OS X版本 终端命令
macOS 文图拉
macOS 蒙特利
macOS 大苏尔
macOS Catalina

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

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 条目的另一种方法是删除浏览器缓存。