一、 打开文件数限制修改
1、用户级别
查看Linux系统用户最大打开文件限制:
ulimit -n
输出:
1024
(1)修改limits.conf
vi /etc/security/limits.conf
添加或修改:
* soft nofile 1000000
* hard nofile 1000000
2、Linux系统级别
查看Linux系统对同时打开文件数的硬限制:
sysctl -a|grep file-max
fs.file-max = 65535
修改sysctl.conf
vi /etc/sysctl.conf
输出:
fs.file-max = 1000000
*使sysctl配置立即生效:
sysctl -p
二、 网络端口限制修改
1、查看Linux系统最大追踪TCP连接数量:
sysctl -a | grep ipv4.ip_conntrack_max
输出:
net.ipv4.nf_conntrack_max = 20000
这表明系统将对最大跟踪的TCP连接数限制默认为20000。
2、查看Linux系统端口范围:
sysctl -a | grep ipv4.ip_local_port_range
输出:
net.ipv4.ip_local_port_range = 1024 30000
注意:
每个TCP客户端连接都要占用一个唯一的本地端口号(此端口号在系统的本地端口号范围限制中),如果现有的TCP客户端连接已将所有的本地端口号占满。将不能创建新的TCP连接。
(1)修改sysctl.conf
vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
net.netfilter.nf_conntrack_max = 1000000
*使sysctl配置立即生效:
sysctl -p
如果按上述端口范围进行设置,则理论上单独一个进程最多可以同时建立60000多个TCP客户端连接。
如果按上述参数进行设置,则理论上单独一个进程最多可以同时建立60000多个TCP客户端连接。
Linux下查看tcp连接数及状态命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
三、查看TCP连接数
1、统计80端口连接数
netstat -nat|grep -i "80"|wc -l
2、统计httpd协议连接数
ps -ef|grep httpd|wc -l
3、统计已连接上的,状态为“established
netstat -na|grep ESTABLISHED|wc -l
4、查出哪个IP地址连接最多,将其封了.
netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n
netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n