Angstrom 上的 rmem_max 写入错误

Angstrom 上的 rmem_max 写入错误

我正在尝试调整 UDP 接收和传输缓冲区大小。根据我的实时应用需求,我需要将 Tx 缓冲区配置为 6 字节,Rx 缓冲区配置为 22 字节。我在 ARM A9 处理器上运行 Angstrom。 (Altera cyclone 诉 soc)。客户端和服务器通过 WiFi 以 adhoc 模式进行通信。

root@cyclone5:/proc/sys/net/core# cat rmem_max
163840
root@cyclone5:/proc/sys/net/core# sysctl -w rmem_max=22
sysctl: cannot stat /proc/sys/rmem_max: No such file or directory

该文件位于 path 处 /proc/sys/net/core,但是stat正在寻找 path 处的文件/proc/sys/

我还尝试过以下操作:

root@cyclone5:/proc/sys/net/core# sysctl -w net.core.rmem_max=22
sysctl: setting key "net.core.rmem_max": Invalid argument
net.core.rmem_max = 22

有人能解决这个问题吗?

调整缓冲区大小的目的是因为,我不想将数据包在缓冲区中排队。每次调用recvfrom和时,都可以用新数据包覆盖旧数据包sendto

编辑:

对这个问题进行更多调试,我发现我可以为此缓冲区设置的最小字节是 2240 字节。

root@cyclone5:/proc/sys/net/core# echo 2238 > rmem_max
-sh: echo: write error: Invalid argument
root@cyclone5:/proc/sys/net/core# echo 2239 > rmem_max
-sh: echo: write error: Invalid argument
root@cyclone5:/proc/sys/net/core# echo 2240 > rmem_max
root@cyclone5:/proc/sys/net/core# cat rmem_max
2240

有没有办法将这个数字减少到低至 22 字节?

相关内容