您的位置:首页 > 其它

unix socket 的缓冲区大小

2014-04-21 16:30 183 查看
1 默认大小

tcp : cat /proc/sys/net/ipv4/tcp_rmem

4096
87380 4161536

其中
87380为默认接收缓冲的大小

cat /proc/sys/net/ipv4/tcp_wmem

4096
16384 4161536

其中16384为默认发送缓冲的大小

udp:cat /proc/sys/net/core/rmem_default

212992

UDP 默认接收缓冲大小为212992

cat /proc/sys/net/core/wmem_default

212992

UDP 默认发送缓冲大小为212992

2 最大缓冲区大小

cat /proc/sys/net/core/rmem_max



131071

tcp,udp最大接收缓冲区大小为131072*2

cat /proc/sys/net/core/wmem_max


131071
tcp,udp最大发送缓冲区大小为131072*2

3 最小缓冲区大小

由内核宏定义:2288 B

4 设定缓冲区大小

用setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen),自定义缓冲区大小

注意,设定的结果是rcv_size*2 ; 然后在用rcv_size*2 与最大值,最小值进行比较,

如果超过最大值,则取最大值 131071*2

如果小于最小值,则取最小值2288

否则,取rcv_size*2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: