端口范围
查看可用端口范围
cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999
修改端口可用范围
# 临时修改
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
# 永久修改:在/etc/sysctl.conf中添加如下信息
net.ipv4.ip_local_port_range = 1024 65535
# 然后生效一下
sysctl -p
TIME_WAIT处理
压测过程中,TCP连接的主动关闭方会出现大量的TIME_WAIT状态,导致端口不够用等问题
可以配置
参考
# 同样,在/etc/sysctl.conf中添加如下信息,最后使用sysctl -p生效一下
# 表示开启SYN cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1
# 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1
# 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1
# 修改系統默认的 TIMEOUT 时间
net.ipv4.tcp_fin_timeout = 30
ulimit配置
显示当前所有的资源限制
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63445
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 63445
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
可以直接对以上参数进行修改,但是只在当前的Session及其衍生Session生效,不推荐
在/etc/security/limits.conf中进行永久修改,格式:
<domain> <type> <item> <value>
(参考limits.conf中的注释部分的说明)
修改之后重新登录即可生效
* soft core unlimited
* hard core unlimited
开机自启动
将启动命令添加到/etc/rc.d/rc.local中
* soft nproc unlimited
* hard nproc unlimited
* soft nofile 1024000
* hard nofile 1024000
## 当前用户最大登录数
## max number of logins for this user
* soft maxlogins 100
* hard maxlogins 100
## 系统最大登录用户数
## max number of logins on the system
* soft maxsyslogins 100
* hard maxsyslogins 100
Cannot allocate memory 问题的处理
查看最大进程数 sysctl kernel.pid_max
查看进程数 ps -eLf | wc -l
确认是进程数满了
临时修改:
echo 1000000 > /proc/sys/kernel/pid_max
永久生效:
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p