Socket 修改缓存大小

1. tcp 收发缓冲区默认值

[root@bogon ipv4]# cat /proc/sys/net/ipv4/tcp_rmem
4096    87380   6291456
[root@bogon ipv4]#

# 87380  :tcp接收缓冲区的默认值

[root@bogon ipv4]# cat /proc/sys/net/ipv4/tcp_wmem
4096    16384   4194304
[root@bogon ipv4]#

# 16384  : tcp 发送缓冲区的默认值 

2. 修改缓存区大小

[root@bogon ipv4]#
[root@bogon ipv4]# cat /proc/sys/net/core/rmem_max
212992
[root@bogon ipv4]#

#  212992   tcp 或 udp 接收缓冲区最大可设置值的一半

[root@bogon ipv4]#
[root@bogon ipv4]# cat /proc/sys/net/core/wmem_max
212992
[root@bogon ipv4]#

#  212992 tcp 或 udp 发送缓冲区最大可设置值的一半

也就是说调用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen);  时rcv_size 如果超过 212992 ,那么

getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于 212992 * 2 = 425984


修改 接收\发送Sokcet 缓冲区大小:

发送Sokcet 缓冲区 修改前:
[root@bogon ipv4]# cat /proc/sys/net/core/wmem_max
212992

发送Sokcet 缓冲区 修改后:

[root@bogon ~]# echo 300000 > /proc/sys/net/core/wmem_max
[root@bogon ~]#
[root@bogon ~]# cat /proc/sys/net/core/wmem_max
300000
[root@bogon ~]#

修改 套字节 socket的缓存大小

echo 65536 > /proc/sys/net/core/rmem_max#收缓冲区最大值
echo 300000> /proc/sys/net/core/wmem_max#发缓冲区最大值
echo 65536 > /proc/sys/net/core/rmem_default#收缓冲区默认值
echo 65536 > /proc/sys/net/core/wmen_default#发缓冲区默认值

你可能感兴趣的:(网络,tcp/ip,udp)