1、修订单个socket的缓冲区大小:通过setsockopt使用SO_RCVBUF来设置接收缓冲区,该参数在设置的时候不会与rmem_max进行对比校验,但是如果设置的大小超过rmem_max的话,则超过rmem_max的部分不会生效;
2、修订linux系统udp缓冲区大小:通过rmem_max来设置系统中udp缓存的上限,该值可通过如下方式查看:
root@ubuntu:/mnt/hgfs/vm-shared/socket# cat /proc/sys/net/core/rmem_max
131071
通过如下方式进行修订:
root@ubuntu:/mnt/hgfs/vm-shared/socket# vi /etc/sysctl.conf
在文件/etc/sysctl.conf中新增如下信息:
rmem_max=MAX
需要注意的这里设置的rmem_max参数是整个系统的大小,不是单个socket的大小。
修订后的大小可以通过如下命令查看:
root@ubuntu:/mnt/hgfs/vm-shared/socket# sysctl -a | grep rmem_max

net.core.rmem_max = 131071

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,由内核的宏决定

udp之关于linux udp收发包缓冲区大小的更多相关文章

  1. UDP收发buffer尺寸对收发包流量的影响

    下午验证一个高流量发包问题时,发现了一个值得记录的问题:socket的收发buffer尺寸是会影响收发包的效率的,高流量通讯时,若socket的收发buffer尺寸过小会一定程度降低收发包效率. 自己 ...

  2. 网络编程之UDP(2)linux查看socket默认缓冲区大小和最大值

    默认值 命令: cat /proc/sys/net/core/rmem_default 结果: 最大值 命令: cat /proc/sys/net/core/rmem_max 结果:

  3. TCP/IP学习(四)TCP缓冲区大小及限制(转)

    链接来自:http://blog.csdn.net/ysu108/article/details/7764461 这个问题在前面有的部分已经涉及,这里在重新总结下.主要参考UNIX网络编程. (1)数 ...

  4. TCP缓冲区大小及限制

    这个问题在前面有的部分已经涉及,这里在重新总结下.主要参考UNIX网络编程. (1)数据报大小IPv4的数据报最大大小是65535字节,包括IPv4首部.因为首部中说明大小的字段为16位.IPv6的数 ...

  5. 浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)

    UDP数据包长度 UDP数据包的理论长度 udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可以看出,udp的最大包长度是2^16-1的个 ...

  6. 【VS开发】浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)

    UDP数据包长度 UDP数据包的理论长度 udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可以看出,udp的最大包长度是2^16-1的个 ...

  7. linux系统上用户态pppoe收发包过程

    花了几天看了一下ppp/pppoe有关的东西,画了一下用户态pppoe收发包的示意图.

  8. 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  9. kernel笔记——网络收发包流程

    本文将介绍网络连接建立的过程.收发包流程,以及其中应用层.tcp层.ip层.设备层和驱动层各层发挥的作用. 应用层 对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建一个 ...

随机推荐

  1. CF1016 D. Vasya And The Matrix

    传送门 [http://codeforces.com/group/1EzrFFyOc0/contest/1016/problem/D] 题意 已知矩阵n行m列,以及每一行,每一列所有元素的异或,用 a ...

  2. js格式化时间

    转自:https://blog.csdn.net/u010964869/article/details/51095827 显示格式为:yyyy-mm-dd hh:mi:ss function form ...

  3. M2团队贡献分分配

    经过考虑,M2阶段团队贡献分分配如下: 团队成员 贡献分 12061166 宋天舒 56 12061157 黄漠源 52 12061159 张迎春 55 12061175 刘翔宇 54 1206117 ...

  4. Linux 实验一 基础实践

    Linux 实践一 1:软件源的维护方法 删掉DEB打头的 在命令行中输入命令时,可以用命令补全的方法. 下载完成后,使用sudo dpkg-i skype.deb 来完成安装. 2:掌握Linux ...

  5. jquery打印页面(jquery.jqprint)

    使用jquery进行打印时,所需js包:jquery-1.4.4.min.js.jquery.jqprint-0.3.js 但如果使用高版本的jquery(jquery-1.9.1.min.js)时, ...

  6. opencv学习笔记(三)

    imread()读入图,第一个参数,const string&类型的filename,填我们需要载入的图片路径名, 第二个参数,int类型的flags,为载入标识,它指定一个加载图像的颜色类型 ...

  7. docker+redis 持久化配置(AOF)

    RDB持久化与AOF持久化简单描述 RDB:RDB使用快照的方式存储数据库中的内容,直接将所有键值对数据全部存入二进制文件.建议使用BGSAVE来进行备份,整个过程会新fork一个子进程来执行,不影响 ...

  8. 查看Linux机器名

    uname -a hostname vim /etc/sysconfig/network

  9. 配置wbepack

    proxyTable:{ //反向代理 先建立连接 '/sexLady':{ target:url//请求地址 暗号:'/sexLady ' changeOrigin:true ,//类似baseUr ...

  10. python学习笔记四——循环及冒泡排序

    3.3.3 break 和 continue语句 break:跳出整个循环 continue:跳出当前循环继续后面的循环 例: x=int(input("please input the ' ...