如何在MacOS上重置DNS缓存

如果您在网站上工作,您有时需要重置计算机的DNS缓存,特别是在编辑记录或更改主机之后。虽然使用专用命令刷新Windows上的DNS缓存很容易,但Mac用户必须使用一些变通方法。

清除Mac上的DNS缓存

要清除Mac上的DNS缓存,请打开终端,您可以在应用程序>实用程序中或使用Spotlight搜索找到该终端,然后运行以下命令:

sudo killall -HUP mDNSResponder

在需要密码时输入您的密码。

那么,这个命令到底是做什么的呢?这里发生的事情是,你在欺骗你的系统刷新缓存。维基百科解释说:

显然,您不需要知道其余的所有内容。但现在你知道了。

关于这个过程,网上有很多相互矛盾的信息。例如,一些站点声称您需要在High Sierra上运行比这个更多的命令,而另一些站点则将此命令设置得不必要地长。然而,据我们所知,上面的命令是实际需要的全部内容。以下是如何检查您的工作。

检查您的DNS是否已实际重置

不确定您的DNS重置是否真的起作用了?在某些情况下,在刷新缓存之前关闭Web浏览器可能会有所帮助,但如果这似乎不起作用,您可以通过两种方式快速验证您的缓存是否为空。

第一个是特定于特定地点的。在终端中,键入digg,后跟站点的URL。例如:

dig howtogeek.com

在结果的“回答部分”中,您将看到您的计算机所知道的列出站点的IP地址。

如果您没有看到新的IP地址,请考虑更改Mac上的DNS设置,然后再次刷新缓存。

对于更全局(非特定于站点)的方法,您还可以使用控制台确认缓存已重置,您可以在应用程序>实用程序或使用Spotlight中找到该控制台。在左侧面板突出显示您的系统的情况下,在搜索框中键入“mDNSResponder”,按Enter键,在第一个查询旁边键入“Cache size”,然后再次按Enter键。就像这样:

现在,在控制台窗口仍然打开的情况下,返回到终端窗口并运行以下命令:

sudo killall -INFO mDNSResponder

您应该会在控制台窗口中看到突出显示的DNS缓存大小。现在运行以下命令:

sudo killall -HUP mDNSResponder

然后,再次运行此命令:

sudo killall -INFO mDNSResponder

您应该在控制台窗口中看到缓存大小更改。在上面的屏幕截图中,您可以看到发出命令后我们的缓存大小发生了很大变化。

相关文章