Если я изменю настройки, например, следующим образом:
# 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