Різниця між net.core.rmem_max та net.ipv4.tcp_rmem


14

Яка різниця між 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'

Пріоритет, пов'язаний з tcp?
Нілс

@Nils Так, для підключення tcp.
bydsky

Відповіді:


5

Core - це загальний максимальний буфер прийому, тоді як tcp відноситься саме до цього протоколу.

Що стосується питання пріоритету: Схоже, що налаштування tcp матиме перевагу перед загальним параметром max, що трохи заплутано. Налаштування макс не впливає на поточну настройку tcp (щойно перевірена на CentOS 5).

Більш правильним описом було б: default_max - але це було занадто довго.


1
Ваше пояснення має сенс, але це суперечить тому, що 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так?
nh2

@ nh2 Це було б не перший раз, коли сторінка man не так.
Нілс

1
Як саме ви її протестували?
Wildcard

1
@Wildcard Я встановив це значення і прочитав інше значення після Налаштування першого
Нілс

3
@Nils, просто прочитання значень не скаже вам, якщо одне перевищує інше - вам потрібно спробувати отримати буфер TCP, який перевищує net.core. [Wmem / rmem] _max буфер, щоб перевірити таке переосмислення.
Йордан Пілат
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.