用sysctl调整linux内核选项
来源:互联网 发布:仿卷皮淘宝客源码 编辑:程序博客网 时间:2024/05/21 05:21
From:http://blog.csdn.net/bao_jinyu/article/details/8099858
在我们的dlna程序运行期间,发现有丢包的现象,有的NOTIFY包丢失,有的M-SEARCH包丢失。
更极端的是,有次使用电信msm7627a手机,通过抓包,在出现了3此NOTIFY之后,M-SEARCH一直都没有出现。而通常情况下,两个广播包在开始是交替出现的。这样,就导致这款只能发送广播不能接收广播的手机一直不能发现其他设备。还有一次丢包的例子,是使用HTC的一款手机。这块手机也是属于只能发送广播不能接收广播的情况。大概过了九分钟才发现设备,很显然是漏掉了一次。当时还进一步确认两个数值在不同的终端是不是固定的。最终确认为固定值。
为了确定在哪一层丢包,想到了sysctl工具。
sysctl是一个允许您改变正在运行中的Linux系统的接口。它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。并且,sysctl可以在不用重启系统的情况下是设置生效。用sysctl可以读取设置超过五百个系统变量。基于这点,sysctl(8) 提供两个功能:读取和修改系统设置。
查看所有可读变量:sysctl -a
选取其中部分可读变量查看:sysctl -a | grep port
经过使用该工具分析,在装有ubuntu系统的PC上,XBMC运行期间(只有dms和dmr,没有dmc),选项的改变不能影响到广播的接收或者发送,即系统该怎么运行还是怎么运行,在这个层次上不能截取广播包。
下面是具体步骤:
step 1.备份/etc/sysctl.conf文件
step 2.修改/etc/sysctl.conf文件
step 3.执行sysctl -p使你修改的参数生效。
===================
下面是一些设置:
1.
Enable ignoring broadcasts request:
net.ipv4.icmp_echo_ignore_broadcasts=1
2.
临时启用某个设置,使用命令sysctl -w ~
例如:sysctl -w net.ipv4.ip_forward=1
在系统重启,或者执行了service network restart后,所设置的值就会丢失。
3.
用于向外连接的端口范围:
net.ipv4.ip_local_port_range =8000 65535
客户端测试并发连接超过一定数量时候,出现端口号耗尽情况,尤其被大量TIME_WAIT占用。
使用如下命令查看占用情况。其上限是net.ipv4.ip_local_port_range 所指定的区间内的端口总数。
netstat -an | awk '/^tcp/ {++state[$6]} END {for (key in state) print key,"\t",state[key]}'
当发现到达了net.ipv4.ip_local_port_range 所指定的上限,除了使用虚ip增加端口使用数量外,
可以对这个参数进行调优。设置参数
sysctl net.ipv4.tcp_tw_reuse=1
可以一定程度上缓解这种状况。注意有些网上给出的选项还有net.ipv4.tcp_tw_recycle=1。但这个参数会产生额外的麻烦
在负载均衡的后端机中使用这个参数,会将负载均衡设备建立的多个连接请求当成同一个,从而使后建建立的连接断开。(未测试…)
- 20121022 用sysctl调整linux内核选项
- 用sysctl调整linux内核选项
- 用sysctl调整linux内核参数
- Sysctl命令及linux内核参数调整
- sysctl---调整linux内核参数 --转
- 用sysctl进行调整Linux系统性能
- 用sysctl进行调整Linux系统性能
- 用sysctl进行调整Linux系统性能
- sysctl 调整linx内核运行时参数(对unix/linux系统调优)
- linux运行时动态调整内核参数工具sysctl学习小结
- ps状态的含义 和 sysctl调整内核的含义
- 调整sysctl.conf 的一些有关网络的内核参数
- linux的sysctl:保存内核参数
- 设置Linux内核参数 /etc/sysctl.conf
- 设置Linux内核参数 /etc/sysctl.conf
- Linux内核调优之Sysctl研究
- 设置Linux内核参数 /etc/sysctl.conf
- 设置Linux内核参数 /etc/sysctl.conf
- hdu 4603 Color the Tree
- KM算法总结
- Linux网络协议栈(四)——链路层(2)
- SIFT 特征提取算法总结
- Linux 用户和用户组 配置说明
- 用sysctl调整linux内核选项
- WEB.XML中加载定时器的配置方式
- 腾讯一道面试题
- cocos2d-x code 254错误
- Mac下Chrome和遨游浏览器的快捷键
- Magento: The Best Solution to Ugrade Magento from 1.5.x.x – 1.7.x.x
- linux GCC常用命令
- EOS流程配置出现审批不同意的几大主要原因
- poj 2570 Fiber Network (两种解法 1.floyd+位操作 2.传递闭包)