cat > /etc/security/limits.conf <<EOF #解除 Linux 系统的最大进程数和最大文件打开数限制
#/etc/security/limits.conf
#<domain> <type> <item> <value>
* soft core unlimited
* hard core unlimited
* soft nproc 168000 # noproc 是代表最大进程数 *表示所有用户
* hard nproc 336000 #soft是指警告设定 可以超过这个数但是会有警告 hard表示严格设定 不能超过这个数
* soft nofile 168000 #nofile 是代表最大文件打开数
* hard nofile 336000
* soft memlock 32000 #memlock最大锁定内存地址空间
* hard memlock 32000
* soft msgqueue 8192000
* hard msgqueue 8192000
注意:设置nofile的hard limit还有一点要注意的就是/proc/sys/fs/nr_open,这是系统建议大小
EOF
cat > /etc/sysctl.conf <<EOF
net.ipv4.tcp_syncookies = 1 #表示开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_fin_timeout = 30 #修改系統默认的 TIMEOUT 时间
net.ipv4.tcp_keepalive_time = 1200 # 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.tcp_tw_reuse = 1#表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 5 #4.10内核已经弃用, 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
net.core.somaxconn = 16384
net.ipv4.tcp_max_syn_backlog = 8192 #backlog的值不会大于net.core.somaxconn的值,
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
fs.file-max = 336000
net.ipv4.tcp_synack_retries=3 #超时重试次数 /默认 5
net.ipv4.tcp_rmem = 20480 12582912 25165824
net.ipv4.tcp_wmem = 20480 12582912 25165824
net.ipv4.tcp_mem = 65536 131072 262144
net.ipv6.conf.all.disable_ipv6 = 1 #关闭ipv6监听
net.ipv6.conf.default.disable_ipv6 = 1
kernel.pid_max = 16800 #操作线程数限制 ,默认65536
vm.max_map_count = 84000 #单进程可创建的线程数 ,默认65530
vm.swappiness = 2 #物理内存达到 free * (100-2)%再占用swap ,值越小系统性能越好
EOF