我在 Mint 20.3(基于 Ubuntu 20.04)上,我一直遇到这个奇怪的问题,我的网络一切正常,然后突然,显然出乎意料,它停止工作,我无法访问任何网站。这不是我的浏览器,因为使用curl
.
我找到了一个线程,提到使用systemd-resolve --status
来获取 DNS 的当前状态。当网络正常时,该命令运行良好,我保存了一份副本以与网络播放时的输出进行比较。
但是,现在网络再次启动,我再次运行命令并输出错误:Failed to get global data: No buffer space available
. 我一直在寻找解决方案,但似乎没有提及systemd-resolve
,所以我不知道发生了什么。
这个答案给了我一些希望,但是我将缓冲区大小增加到提到的两倍,但没有任何效果。
请问有人有什么想法吗?
它来自这部分源代码:
resolve/resolvectl.c
我检查了 systemd 在什么情况下会报告 ENOBUFS,并且您似乎只有在为 DBUS 填满待处理的发送或接收缓冲区时才会收到此错误。
底层错误 (
ENOBUFS
) 发生在 DBUS 内部库请求中。它是一个内部缓冲区,你不能增加它的大小,但它无疑表明 DBUS(或底层库)已经停止响应请求,直到内部缓冲区填满并且它放弃向其中添加更多数据,而是
ENOBUFS
返回.我会考虑检查您的 systemd DBUS。也许它以某种方式停止、崩溃或卡住了。