【发布时间】:2016-12-15 07:28:18
【问题描述】:
我尝试使用 SO_RCVBUF 增加值
getsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &rcvBufferSize, &sockOptSize)
但我无法将其增加超过rmem_max 值。
如何使用c 语言增加它。
我不想通过命令增加它:
$ sysctl -w net.core.rmem_max=value
【问题讨论】:
我尝试使用 SO_RCVBUF 增加值
getsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &rcvBufferSize, &sockOptSize)
但我无法将其增加超过rmem_max 值。
如何使用c 语言增加它。
我不想通过命令增加它:
$ sysctl -w net.core.rmem_max=value
【问题讨论】:
正如The Man 所说
SO_RCVBUF
设置或获取最大套接字接收缓冲区(以字节为单位)。这 内核将该值加倍(为簿记留出空间 开销),当它使用 setsockopt(2) 设置时,这翻了一番 值由getsockopt(2) 返回。默认值已设置 由 /proc/sys/net/core/rmem_default 文件和 最大值 允许的值由
/proc/sys/net/core/rmem_max文件设置。 此选项的最小(加倍)值为 256。
强调我的
因此,有了该文件的权限,您就可以直接修改它。
【讨论】: