Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38191
  • 博文数量: 12
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-10 10:25
文章分类
文章存档

2017年(4)

2016年(8)

我的朋友
最近访客

分类: 系统运维

2016-11-29 14:28:07

怎样调整TCP和UDP协议的全局发送/接收窗口大小? 

linux下的解决方法:
发送/接收窗口大小由/proc文件系统控制。相应的变量路径是:
/proc/sys/net/core/rmem_default 
接收的窗口尺寸
/proc/sys/net/core/rmem_max 
接收的窗口尺寸最大值
/proc/sys/net/core/wmem_default 
发送的窗口尺寸
/proc/sys/net/core/wmem_max 
发送的窗口尺寸最大值
你可以cat相应的文件查看当前的设置值。可以使用echo一个数字到对应文件的方式,改变该设置值。例如,将接收的窗口尺寸改成128K,执行:
# echo 131070 > /proc/sys/net/core/rmem_default
TCP动态改变窗口大小以避免网络拥挤。它使用rmem_default和wmem_default的值初始化窗口大小,并且窗口永远不会大于rmem_max和wmem_max。而UDP不会改变它的窗口尺寸,它使用rmem_default和wmem_default作为它的窗口尺寸大小。
 
 
/proc/sys/net/core/目录下也有:rmem_max,   wmem_max,   rmem_default,   wmem_default几项,你改这些值试试看,这可能是调整驱动层缓冲区的,/proc/sys/net/ipv4中应该可以调整你的tcp_socket的缓冲区(UDP不缓冲)

如: 
[feng@localhost core]$ pwd
/proc/sys/net/core
[feng@localhost core]$ cat rmem_default 
262144
[feng@localhost core]$ cat rmem_max 
4194304
[feng@localhost core]$ cat wmem_default 
262144
[feng@localhost core]$ cat wmem_max 
1048576



阅读(1743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~