您的位置:首页 > 理论基础 > 计算机网络

TCP/IP的的最大描述符和参数设置问题

2017-07-28 14:48 330 查看


TCP/IP参数配置

修改文件
/etc/sysctl.conf
,配置网络参数。
1
2
3
net.ipv4.tcp_wmem = 4096 87380 4161536
net.ipv4.tcp_rmem = 4096 87380 4161536
net.ipv4.tcp_mem = 786432 2097152 3145728
数值根据需求进行调整。更多的参数可以看以前整理的一篇文章: Linux TCP/IP 协议栈调优 

执行
/sbin/sysctl -p
即时生效。


最大文件描述符

Linux内核本身有文件描述符最大值的**,你可以根据需要更改:
系统最大打开文件描述符数:/proc/sys/fs/file-max
临时性设置:
echo 1000000 > /proc/sys/fs/file-max

永久设置:修改
/etc/sysctl.conf
文件,增加
fs.file-max = 1000000


进程最大打开文件描述符数

使用
ulimit -n
查看当前设置。使用
ulimit -n 1000000
进行临时性设置。

要想永久生效,你可以修改
/etc/security/limits.conf
文件,增加下面的行:
1
2
3
4
* hard nofile 1000000
* soft nofile 1000000
root hard nofile 1000000
root soft nofile 1000000
还有一点要注意的就是hard limit不能大于
/proc/sys/fs/nr_open
,因此有时你也需要修改nr_open的值。

执行
echo 2000000 > /proc/sys/fs/nr_open


查看当前系统使用的打开文件描述符数,可以使用下面的命令:
1
2
[root@localhost ~]# cat /proc/sys/fs/file-nr
1632 0 1513506
其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max。

总结一下:
所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max
单个进程打开的文件描述符数不能超过user limit中nofile的soft limit
nofile的soft limit不能超过其hard limit
nofile的hard limit不能超过/proc/sys/fs/nr_open
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: