В настоящее время у меня жесткое ограничение в 130688 байт.Если я пытаюсь отправить что-то большее в одном сообщении, я получаю ошибку ENOBUFS.
Я проверил net.core.rmem_default, net.core.wmem_default, net.core.rmem_max, net.core.wmem_max,и net.unix.max_dgram_qlen sysctl и увеличили их все, но они не имеют никакого эффекта, потому что они имеют дело с общим размером буфера, а не размером сообщения.
Я также установил параметры сокетов SO_SNDBUF и SO_RCVBUF, но это имеетта же проблема, что и выше.Размер буфера сокета по умолчанию устанавливается в зависимости от параметров сокета _default.
Я посмотрел на источник ядра, где ENOBUFS возвращается в стеке сокетов, но мне не было ясно, куда он идетот.Единственные места, которые, по-видимому, возвращают эту ошибку, связаны с невозможностью выделить память.
Является ли максимальный размер на самом деле 130688?Если нет, то можно ли это изменить без перекомпиляции ядра?
Спасибо!