可调节的参数
|
默认值
|
选项说明
|
/proc/sys/net/core/rmem_default
|
"110592"
|
定义默认的接收窗口大小;对于更大的 BDP 来说,这个大小也应该更大。
|
/proc/sys/net/core/rmem_max
|
"110592"
|
定义接收窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大。
|
/proc/sys/net/core/wmem_default
|
"110592"
|
定义默认的发送窗口大小;对于更大的 BDP 来说,这个大小也应该更大。
|
/proc/sys/net/core/wmem_max
|
"110592"
|
定义发送窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大。
|
/proc/sys/net/ipv4/tcp_window_scaling
|
"1"
|
启用 RFC 1323 定义的 window scaling;要支持超过 64KB 的窗口,必须启用该值。
|
/proc/sys/net/ipv4/tcp_sack
|
"1"
|
启用有选择的应答(Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段);(对于广域网通信来说)这个选项应该启用,但是这会增加对 CPU 的占用。
|
/proc/sys/net/ipv4/tcp_fack
|
"1"
|
启用转发应答(Forward Acknowledgment),这可以进行有选择应答(SACK)从而减少拥塞情况的发生;这个选项也应该启用。
|
/proc/sys/net/ipv4/tcp_timestamps
|
"1"
|
以一种比重发超时更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项。
|
/proc/sys/net/ipv4/tcp_mem
|
"24576 32768 49152"
|
确定 TCP 栈应该如何反映内存使用;每个值的单位都是内存页(通常是 4KB)。第一个值是内存使用的下限。第二个值是内存压力模式开始对缓冲区使用应用压力的上限。第三个值是内存上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(但是要记住,其单位是内存页,而不是字节)。
|
/proc/sys/net/ipv4/tcp_wmem
|
"4096 16384 131072"
|
为自动调优定义每个 socket 使用的内存。第一个值是为 socket 的发送缓冲区分配的最少字节数。第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值。第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)。
|
/proc/sys/net/ipv4/tcp_rmem
|
"4096 87380 174760"
|
与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。
|
/proc/sys/net/ipv4/tcp_low_latency
|
"0"
|
允许 TCP/IP 栈适应在高吞吐量情况下低延时的情况;这个选项应该禁用。
|
/proc/sys/net/ipv4/tcp_westwood
|
"0"
|
启用发送者端的拥塞控制算法,它可以维护对吞吐量的评估,并试图对带宽的整体利用情况进行优化;对于 WAN 通信来说应该启用这个选项。
|
/proc/sys/net/ipv4/tcp_bic
|
"1"
|
为快速长距离网络启用 Binary Increase Congestion;这样可以更好地利用以 GB 速度进行操作的链接;对于 WAN 通信应该启用这个选项。
|