В чем разница между net.core.rmem_max и третьим значением net.ipv4.tcp_rmem? Который имеет более высокий приоритет для TCP-соединений?
Для следующих двух примеров, каков максимальный буфер для TCP-соединений?
Case 1:
sysctl -w net.core.rmem_max=7388608
sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608'
Case 2:
sysctl -w net.core.rmem_max=8388608
sysctl -w net.ipv4.tcp_rmem='4096 87380 7388608'
linux
linux-networking
tcp
linux-kernel
bydsky
источник
источник
Ответы:
Ядро - это общий максимальный буфер приема, тогда как tcp относится только к этому протоколу.
Что касается вопроса приоритета: кажется, что настройка tcp будет иметь приоритет над общей настройкой max, что немного сбивает с толку. Настройка max не влияет на текущую настройку tcp (только что протестирована на CentOS 5).
Более правильное описание было бы: default_max - но это было, вероятно, слишком долго.
источник
man tcp
говорит оtcp_rmem
максимальном значении:the maximum size of the receive buffer used by each TCP socket. This value does not override the global net.core.rmem_max
- см. Также stackoverflow.com/questions/31546835/… . Является лиman tcp
так?