LINUX.ORG.RU
решено ФорумAdmin

Минимальный размер TCP буфера

 ,


1

1

Почему размер буфера для чтения минимум устанавливается как 2304 (Ubuntu 16. 18 проверял)? Можно ли его сделать менее чем 2304?

Попробовал установить лимиты:

$ sudo sysctl -w net.core.wmem_max=65536 # менее не пускает
net.core.wmem_max = 65536

$ sudo sysctl -w net.core.rmem_max=65536 # менее не пускает
net.core.rmem_max = 65536

$ sudo sysctl -w net.ipv4.tcp_rmem="2 4 8"
net.ipv4.tcp_rmem = 2 4 8

$ sudo sysctl -w net.ipv4.tcp_wmem="2 4 8"
net.ipv4.tcp_wmem = 2 4 8

Далее создать сокет и повлиять на размер буфера для чтения

my_socket = socket.socket( socket.AF_INET,socket.SOCK_STREAM)
my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 8)

При этом размер реально установленного буфера всегда не превышает 2304 (больше можно сделать):

 
print(my_socket.getsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF))
# печатает 2304



Последнее исправление: peterbukerov (всего исправлений: 1)

Можно ли его сделать менее чем 2304?

Давай зайдем с другого конца - что за задачу ты пытаешься решить?

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.