use*_*348 5 c unix sockets datagram linux-kernel
我知道可以使用"cat/proc/sys/net/unix/max_dgram_qlen"找到数据报队列长度的最大长度.
我想知道如何找到启动时设置的默认值(例如发送缓冲区大小的/ proc/sys/net/core/wmem_default).
是否可以增加max_dgram_qlen的值?同样的上限是多少?
我的内核版本是2.6.27.7.我是Unix Domain Socket编程(AF_UNIX)的新手.
在此先感谢任何意见/解决方案!
之前的答案/评论未能理解OP正在讨论数据报(max_dram_qlen)中的最大队列长度而不是字节.操作系统提供两种设置的设置.
您可以max_dgram_qlen使用以下命令进行设置:
sysctl net.unix.max_dgram_qlen=128
Run Code Online (Sandbox Code Playgroud)
您可能需要运行,sudo您可能还需要max_dgram_qlen=128根据您的shell 放置双引号.
另外,请参阅通过域套接字传输的单个数据包大小的实际限制是什么?.
人unix(7):
SO_SNDBUF 套接字选项确实对 UNIX 域套接字有影响,但 SO_RCVBUF 选项则没有。对于数据报套接字,SO_SNDBUF 值对传出数据报的大小施加上限。此限制计算为双倍(请参阅套接字(7))选项值减去用于开销的 32 字节。