如何查看linux的socket可支持的最大缓冲区(buffer)大小

2020-05-06 02:51:42

由于小沃经常开发一些高并发的程序,经常使用到非阻塞IO以及epoll等特性。而在非阻塞IO编程中,socket的缓冲区大小是提高性能的一个重要指标。

这个参数可以通过setsockopt来修改,但是修改总有个上线,如果知道了这个上线,我们就可以合理用户层的接收缓冲区大小了。

下面小沃就来告诉大家如何查看这个缓冲区大小的最大可设置值:

读缓冲

cat /proc/sys/net/core/rmem_max

写缓冲

cat /proc/sys/net/core/wmem_max

但是注意,这个值并不是最大值,这个值只有最大值的1/2。

当我们通过setsockopt设置的参数大于上面的值时,实际就会变为这个值的两倍。

比如通过上面的命令得到的值为212992,那么通过程序设置的值大于212992,实际就会变为2*212992=425984‬


文章作者:沃航科技

联系我们
地址:武汉市东湖高新开发区光谷总部国际1栋2412室
QQ: 932773931
电话:027-59761089-806
手机:13397158231
邮箱:jevian_ma@worldflying.cn

沃航(武汉)科技股份有限公司版权所有

备案号:鄂ICP备16014230号-1

932773931
13397158231