文件描述符(file descriptors)
/etc/security/limits.conf
这里是当前用户允许打开的文件描述符限制,可以用ulimit -n
查看.
修改成如下配置:
* hard nofile 65536
root hard nofile 65536
* soft nofile 65536
root soft nofile 65536
注意:root和*必须都要写,这里*
代表root以外的其他账户(大坑无误)
注销后重新login生效。
最大连接数(max connections)
/etc/sysctl.conf
这里可以设置系统的文件描述符总限制(所有用户),以及其他tcp相关设置。
其中最大连接数是net.core.somaxconn
,这个参数在不同Linux内核中限制不一致,所以可以设置两次,使用不同的上限。
fs.file-max=102400
net.ipv4.tcp_slow_start_after_idle = 0
net.core.somaxconn = 65535
net.ipv4.tcp_keepalive_time=300
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_no_metrics_save=1
net.core.somaxconn=262144
net.ipv4.tcp_max_orphans=262144
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_syncookies=0
net.ipv4.tcp_max_syn_backlog=262144
net.core.wmem_max=16777216
net.core.rmem_max=16777216
net.ipv4.tcp_wmem=4096 4096 16777216
net.ipv4.tcp_mem = 786432 2097152 3145728
net.ipv4.tcp_rmem=4096 4096 16777216
net.core.netdev_max_backlog=30000
net.ipv4.ip_local_port_range=5000 65535
net.ipv4.tcp_fin_timeout=30
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.netdev_max_backlog=16384
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_syncookies=1
修改后使用sysctl -p
生效。
注意,以上修改完成后,很多服务必须重启才能生效。