Mac用户遇DNS问题可刷新缓存:一、按系统版本执行终端命令,Sonoma至Catalina需运行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,Mojave及更早仅需sudo killall -HUP mDNSResponder;二、通用复合命令sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder;三、修改网络设置中DNS服务器地址亦可触发自动刷新。

如果您在Mac上遇到网站打不开、域名解析异常或网络访问延迟等问题,可能是本地DNS缓存中存在过期或错误的解析记录。以下是使用终端命令刷新DNS缓存的具体操作步骤:
一、按系统版本执行对应终端命令
macOS不同版本依赖的DNS服务机制不同:较新系统(Sonoma至Catalina)需同时调用dscacheutil与mDNSResponder;而Mojave及更早版本仅需重启mDNSResponder服务即可清空全部缓存。准确匹配系统版本可避免命令无效或服务未响应。
1、按下Command + 空格调出Spotlight搜索,输入“终端”并回车启动应用。
2、在终端窗口中,根据您的macOS版本输入以下任一命令:
——若运行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) 及更早版本:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
3、按回车后,系统将提示输入管理员密码。
4、键入当前用户登录密码(输入过程中屏幕不显示任何字符),再按回车确认执行。
5、终端返回新行光标即表示命令已执行完毕,此时DNS缓存已被清除。
二、使用单条复合命令确保双重生效
该方法将缓存清空与服务重启合并为原子化指令,通过逻辑运算符&&保障两步动作严格顺序执行,防止因进程调度延迟导致清理残留,适用于所有支持dscacheutil的macOS版本。
1、打开“终端”应用程序。
2、复制并粘贴以下完整命令:sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
3、按回车键提交命令。
4、在密码提示下输入管理员密码并回车。
5、系统将依次完成缓存清空与mDNSResponder进程重启,两个动作均成功执行后DNS缓存即被彻底刷新。
三、通过修改DNS服务器设置触发自动刷新
更改网络接口中的DNS服务器地址会强制系统丢弃全部现有解析记录,并重建DNS查询路径,从而实现无需命令行干预的缓存变相清除,适用于对终端操作存在顾虑的用户。
1、从屏幕左上角点击苹果菜单,选择“系统设置”。
2、进入“网络”设置界面,选择当前正在使用的网络连接(如Wi-Fi或以太网)。
3、点击右侧的“详细信息”按钮。
4、切换到“DNS”标签页,在左侧DNS服务器列表中选中现有条目,点击下方“-”号将其删除。
5、点击“+”号添加新的公共DNS地址,例如:8.8.8.8 和 8.8.4.4(Google公共DNS),或1.1.1.1 和 1.0.0.1(Cloudflare DNS)。

















