首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSError 105 :无缓冲空间- Zeroconf

OSError 105 :无缓冲空间- Zeroconf
EN

Stack Overflow用户
提问于 2017-10-13 09:54:34
回答 2查看 2K关注 0票数 2

我使用的是NanoPi M1 (Allwinner H3板)&运行一个基于Yocto的操作系统。在我第一次见到ZeroConf-python时,

代码语言:javascript
复制
>>> from zeroconf import Zeroconf, ServiceBrowser
>>> zero = Zeroconf()

我得到了错误:

代码语言:javascript
复制
File "/usr/lib/python3.5/site-packages/zeroconf.py", line 1523, in __init__
    socket.inet_aton(_MDNS_ADDR) + socket.inet_aton(i))
OSError: [Errno 105] No buffer space available

当我在Raspbian(在RPI上)运行它时,不会出现这个错误。我试图在家庭助理中寻找解决此类错误的方法,但是没有一个能很好地概括出真正的问题,抛开解决方案吧。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-23 13:35:36

net/ipv4/igmp_max_membershipssysctl更新为大于零。在终端上执行以下命令:$ sysctl -w net.ipv4.igmp_max_memberships=20 (或任何大于零的其他值)& $ sysctl -w net.ipv4.igmp_max_msf=10

然后,重新启动avahi-daemon systemctl restart avahi-daemon

您可以使用'sysctl net.ipv4.igmp_max_会员制‘验证上述键的现有值。

票数 2
EN

Stack Overflow用户

发布于 2020-08-16 09:37:56

对Neelotpal回答的补充:

这个帖子包含了一个很好的解决方案,所有选项都可以检查这个问题:

代码语言:javascript
复制
# Bigger buffers (to make 40Gb more practical). These are maximums, but the     default is unaffected.
net.core.wmem_max=268435456
net.core.rmem_max=268435456
net.core.netdev_max_backlog=10000

# Avoids problems with multicast traffic arriving on non-default interfaces
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

# Force IGMP v2 (required by CBF switch)
net.ipv4.conf.all.force_igmp_version=2
net.ipv4.conf.default.force_igmp_version=2

# Increase the ARP cache table
net.ipv4.neigh.default.gc_thresh3=4096
net.ipv4.neigh.default.gc_thresh2=2048
net.ipv4.neigh.default.gc_thresh1=1024

# Increase number of multicast groups permitted
net.ipv4.igmp_max_memberships=1024

,我不建议只是盲目地复制这些值,,而是系统地测试是哪一个限制了您的资源:

  1. 使用sysctl <property>获取当前设置的值
  2. 通过检查系统状态来验证该属性当前是否处于极限运行状态。
  3. 更改由Neelotpal使用sysctl -w或通过直接更改/etc/sysctl.conf并通过sysctl -p实现的配置

在我的例子中,增加net.ipv4.igmp_max_memberships做了一个诀窍:

  1. 我用sysctl net.ipv4.igmp_max_memberships ( 20 )检查了当前的值
  2. 我查了一下netstat -gn有多少会员,意识到我的许多码头集装箱占了大部分。
  3. 最后,我在syctl.conf中增加了价值,它起了作用

当然,阅读这些属性以了解它们的实际操作也是很好的,例如在sysctl-explorer.net上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46727211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档