socket缓冲区大小(转载+整理)

本文详细介绍了 Linux 系统中 socket 缓冲区的默认大小、最大及最小值等关键参数,包括 TCP 和 UDP 的接收与发送缓冲区设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux socket 缓冲区默认大小

1. tcp收发缓冲区默认值


[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem  


4096    87380   4161536


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


[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem 


4096    16384   4161536


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


2. tcp或udp收发缓冲区最大值


[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_max 


131071


131071:tcp或udp接收缓冲区最大可设置值的一半。


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


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


[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_max  


131071


131071:tcp或udp发送缓冲区最大可设置值得一半。


跟上面同一个道理


3. udp收发缓冲区默认值


[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_default   


111616:udp接收缓冲区的默认值


[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_default 


111616


111616:udp发送缓冲区的默认值


4. tcp或udp收发缓冲区最小值


tcp或udp接收缓冲区的最小值为 256 bytes,由内核的宏决定;


tcp或udp发送缓冲区的最小值为 2048 bytes,由内核的宏决定

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值