Если я изменю настройки, например, так:
# sysctl -w net.core.rmem_default=500000
# sysctl -w net.ipv4.tcp_rmem='4000 90000 10000000'
Это совершенно безопасно.
Нет, новые значения этих переменных sysctl влияют только на новые сокеты.
После перезапуска процесс воссоздает сокет с новыми значениями по умолчанию. Но процесс может сам установить размер буфера с помощью опции сокета SO_RCVBUF.
Согласно документации redhat rmem_default не должно быть больше rmem_max.
rmem_default: размер приемного буфера ОС по умолчанию для всех типов соединений. Так что не задавайте слишком больших значений, пока это не станет абсолютно необходимым * значения по умолчанию работают большую часть времени).
tcp_rmem: первое значение сообщает ядру минимальный буфер приема для каждого TCP-соединения, и этот буфер всегда выделяется для TCP-сокета, даже при высоком давлении на систему. ... Второе указанное значение сообщает ядру буфер приема по умолчанию, выделенный для каждого сокета TCP. Это значение переопределяет значение / proc / sys / net / core / rmem_default, используемое другими протоколами. ... Третье и последнее значение, указанное в этой переменной, указывает максимальный буфер приема, который может быть выделен для сокета TCP.
вы можете перезагрузить настройку через sysctl --system