linux网络参数解析
来源:互联网 发布:百度云账号淘宝怎么搜 编辑:程序博客网 时间:2024/04/25 15:41
linux网络参数主要位于下面两个目录下:/proc/sys/net/core/和/proc/sys/net/ipv4/, 下面分别对这两个目录下常用的几个网络参数做下说明:
1./proc/sys/net/core/
$ /proc/sys/net/core/somaxconn
listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能, 可参考的优化值:2048
$ /proc/sys/net/core/wmem_max
最大socket写buffer,可参考的优化值:131071
$ /proc/sys/net/core/rmem_max
最大socket读buffer,可参考的优化值:131071
$ /proc/sys/net/core/netdev_max_backlog
进入包的最大设备队列.默认是300,对重负载服务器而言,该值太低,可参考的优化值:1000
$ /proc/sys/net/core/optmem_max
socket buffer的最大初始化值,默认10K,可参考的优化值:20480
2./proc/sys/net/ipv4/
$/proc/sys/net/ipv4/tcp_tw_recycle
加快回收TIME-WAIT套接字.0:关闭;1:开启
$/proc/sys/net/ipv4/tcp_tw_reuse
复用TIME_WAIT状态socket的开关,如果开启,客户端在调用connect调用时,会自动复用TIME_WAIT状态的端口.0:关闭;1:开启
$/proc/sys/net/ipv4/tcp_max_tw_buckets
The tcp_max_tw_buckets variable tells the system the maximum number of sockets in TIME-WAIT to be held simultaneously. If this number is exceeded, the exceeding sockets are destroyed and a warning message is printed to you. The reason for this limit to exist is to get rid of really simple DoS attacks.
The tcp_max_tw_buckets variable takes an integer value which tells the system at which point to start destroying timewait sockets. The default value is set to 180000. This may sound much, but it is not. If anything, you should possibly need to increase this value if you start receiving errors due to this setting.
$ /proc/sys/net/ipv4/tcp_wmem
TCP写buffer,可参考的优化值: 4096 16384 131072
$ /proc/sys/net/ipv4/tcp_rmem
TCP读buffer,可参考的优化值: 4096 87380 174760
$ /proc/sys/net/ipv4/tcp_mem
同样有3个值,意思是:
net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.
net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.
net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.
上述内存单位是页,而不是字节.
可参考的优化值是:196608 262144 393216
$ /proc/sys/net/ipv4/tcp_max_syn_backlog
进入SYN包的最大请求队列.默认1024.对重负载服务器而言,可适当调高.
$ /proc/sys/net/ipv4/tcp_retries2
TCP失败重传次数,默认值15,意味着重传15次才彻底放弃.可减少到5,以尽早释放内核资源.
$ /proc/sys/net/ipv4/tcp_keepalive_time
$ /proc/sys/net/ipv4/tcp_keepalive_intvl
$ /proc/sys/net/ipv4/tcp_keepalive_probes
这3个参数与TCP KeepAlive有关.默认值是:
tcp_keepalive_time = 7200 seconds (2 hours)
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75 seconds
意思是如果某个TCP连接在idle 2个小时后,内核才发起probe.如果probe 9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效.对服务器而言,显然上述值太大. 可调整到:
/proc/sys/net/ipv4/tcp_keepalive_time 1800
/proc/sys/net/ipv4/tcp_keepalive_intvl 30
/proc/sys/net/ipv4/tcp_keepalive_probes 3
$ proc/sys/net/ipv4/ip_local_port_range
指定端口范围的一个配置,默认是32768 61000,已够大.
- linux网络参数解析
- 网络参数|数据解析
- Linux 命令行参数解析
- linux chmod 参数解析
- linux cmdline参数解析
- Linux命令行参数解析
- Linux内核参数解析
- 常见linux网络参数
- Linux 内核网络参数
- Linux内核网络参数
- linux中解析命令行参数
- linux 中解析命令行参数
- LINUX中解析命令行参数
- Linux Top 命令参数解析
- linux 命令行参数解析源码
- Linux 如何解析命令行参数 ?
- Linux 命令行参数解析整理
- linux命令行参数解析学习心得
- Analytics - Create Report Plugin 【转】
- QT4中的类QRegion实例
- 开源Symbian平台开发路线图披露
- 浅谈Oralce的Cursor(游标)
- Install an RPM Package on Ubuntu Linux(from how to geek)
- linux网络参数解析
- 【转贴】百度搜索引擎Domain命令的使用技巧
- 当你觉得累了时,就看看这些吧
- Unix 下dup和dup2函数的解析
- VC怎样使程序的运行窗体处在最上层
- WinDbg中Check for invalid symbols or bad syntax(断点设置)解决办法
- HttpWatch中的ERROR_INTERNET_INVALID_URL错误 [此博文包含图片]
- 常见的液晶显示器点距
- 【转贴】查询新注册域名是否被百度和谷歌K过的方法