RHEL5下TCP最大连接信息查看及修改方法

Linux下TCP最大连接数受到Kernel及Ulimit的限制。

一、 文件数限制修改1、用户级别查看Linux系统用户最大打开文件限制:# ulimit -n1024

(1) vi /etc/security/limits.confapache soft nofile 10240apache hard nofile 10240其中apache指定了要修改哪个用户的打开文件数限制。可用’*’号表示修改所有用户的限制;soft或hard指定要修改软限制还是硬限制;10240则指定了想要修改的新的限制值,即最大打开文件数(请注意软限制值要小于或等于硬限制)。

(2) vi /etc/pam.d/loginsession required /lib/security/pam_limits.so这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制)。而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。

2、Linux系统级别查看Linux系统对同时打开文件数的硬限制:# sysctl -a|grep file-maxfs.file-max = 50542这表明这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)50542个文件,是Linux系统级硬限制,所有用户级的打开文件数限制都不会超过这个数值。通常这个系统级硬限制是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制。

(1) vi /etc/sysctl.conffs.file-max = 505420立即生效:# sysctl -p

二、 网络端口限制修改查看Linux系统最大追踪TCP连接数量:# sysctl -a | grep ipv4.ip_conntrack_maxnet.ipv4.ip_conntrack_max = 16376这表明系统将对最大跟踪的TCP连接数限制默认为16376。

查看Linux系统端口范围:# sysctl -a | grep ipv4.ip_local_port_rangenet.ipv4.ip_local_port_range = 32768 61000注意:每个TCP客户端连接都要占用一个唯一的本地端口号(此端口号在系统的本地端口号范围限制中),如果现有的TCP客户端连接已将所有的本地端口号占满。将不能创建新的TCP连接。

(1) vi /etc/sysctl.confnet.ipv4.ip_local_port_range = 1024 65000net.ipv4.ip_conntrack_max = 20480如果按上述端口范围进行设置,则理论上单独一个进程最多可以同时建立60000多个TCP客户端连接。如果按上述参数进行设置,则理论上单独一个进程最多可以同时建立20000多个TCP客户端连接。

备注:对apache用户可同时打开文件数设置为10240个;将Linux系统可同时打开文件数设置为505420个(一定要大于对用户的同时打开文件数限制);将Linux系统对最大追踪的TCP连接数限制为20480个(但是,建议设置为10240;因为对apache用户的同时打开文件数已经限制在10240个;且较小的值可以节省内存);将linux系统端口范围配置为1024~65000(可以支持60000个以上连接,不建议修改;默认已经支持20000个以上连接);

综合上述四点,TCP连接数限制在10140个。这10240个文件中还得除去每个进程必然打开的标准输入,标准输出,标准错误,,服务器监听 socket,进程间通讯的unix域socket等文件。

因此,当需要对TCP连接数进行调整时只需要调整ulimit参数。系统硬件同时打开文件数一般不会成为瓶颈(系统根据硬件性能自动计算)。

Red Hat Enterprise Linux 7 现已提供用户下载

RHEL 6.3 安装教程图文详解

Red Hat Linux 7.0 安装图解

本文永久更新链接地址:

可偏偏。多么温柔,一出口便是相互指责和嘲讽。

RHEL5下TCP最大连接信息查看及修改方法

相关文章:

你感兴趣的文章:

标签云: