linux修改TCP最大连接数

转自:https://www.cnblogs.com/cwp-bg/p/8377742.html

操作系统: oracle-linux7.3

修改系统支持的最大TCP连接

  • 最大tcp连接数和系统允许打开的最大文件数,用户允许打开的最大文件数,TCP网络连接可用的端口范围有关,取上述的最小值;

  • 一般的设置规则为:

系统最大文件数>可用端口>用户最大文件数
  • 否则可能导致内存泄漏,系统崩溃;

修改系统最大文件描述符

  • 查看系统当前默认值
sysctl -a | grep file-max
  • 修改值
vi /etc/sysctl.conf

# 在末尾添加
fs.file_max = 10240
# 立即生效
sysctl -p

修改可用端口数

  • 查看端口范围
sysctl -a | grep ipv4.ip_local_port_range
  • 修改
vim  /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.ipv4.tcp_fin_timeout = 10 n
et.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save=1
net.core.somaxconn = 262144
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2
  • 使修改立即生效

/sbin/sysctl -p /etc/sysctl.conf
/sbin/sysctl -w net.ipv4.route.flush=1

修改用户最大文件描述符和最大进程数

  • 查看当前值
ulimit -n # 最大文件数,一般默认为1024个
ulimit -u # 最大进程数,一般为默认60000+
  • 修改值
# 永久修改
 vi /etc/security/limits.conf

# 修改文件数
 * soft nofile 10240
 * hard nofile 10240
 # 修改进程数
 * soft noproc 60000
 * hard noproc 60000
 # 临时修改
 ulimit -n 10240
  • 上面的永久修改方式重启还不会生效,需要执行者
vi /etc/pam.d/login
# 在末尾添加
session required /usr/lib64/security/pam_limits.so
# 作用是告诉Linux在用户完成系统登录后,应该调用pam_limits.so来执行limit.conf这个文件
  • 一般来说,只需要修改用户的限制就可以了。
posted @ 2018-09-20 17:24  思吴邪  阅读(1093)  评论(0编辑  收藏  举报