linux 连接数 限制,linux设置最大连接数

1.最大文件打开数限制

查看前用户进程打开的文件数限制,命令行执行:

ulimit -n

默认1024.

这表示当前用户的每个进程最多允许同时打开1024个文件,这1024个文件中还得除去每个进程必然打开的标准输入,标准输出,标准错误,服务器监听 socket,进程间通讯的unix域socket等文件,那么剩下的可用于客户端socket连接的文件数就只有大概1024-10=1014个左右。也就是说缺省情况下,基于Linux的通讯程序最多允许同时1014个TCP并发连接。

对于想支持更高数量的TCP并发连接的通讯处理程序,就必须修改Linux对当前用户的进程同时打开的文件数量的软限制(soft limit)和硬限制(hardlimit)。其中软限制是指Linux在当前系统能够承受的范围内进一步限制用户同时打开的文件数;硬限制则是根据系统硬件资源状况(主要是系统内存)计算出来的系统最多可同时打开的文件数量。通常软限制小于或等于硬限制。

vim /etc/security/limits.conf

limits.conf添加如下配置:

# 修改文件数

* soft nofile 10240

* hard nofile 10240

# 修改进程数

* soft noproc 60000

* hard noproc 60000

可用’*'号表示修改所有用户的限制;如果只针对某用户,可指定了要修改哪个用户的打开文件数限制,即:user1 soft nofile 10240;soft或hard指定要修改软限制还是硬限制;10240则指定了想要修改的新的限制值,即最大打开文件数(请注意软限制值要小于或等于硬限制)。

vim /etc/pam.d/login

添加:

session required /lib/security/pam_limits.so

这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。

2.修改profile

vim /etc/profile

profile文件添加:

ulimit -SHn 64000

命令行执行生效:

source /etc/profile

3.内核参数sysctl.conf的优化

/etc/sysctl.conf 是用来控制linux网络的配置文件,对于依赖网络的程序(如web服务器和cache服务器)非常重要.

先备份原配置:

cp /etc/sysctl.conf /etc/sysctl.conf.bak

然后编辑sysctl.conf:

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

net.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 = 10240

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

其中:

net.ipv4.ip_local_port_range = 1024 65535

如果按上述端口范围进行设置,则理论上单独一个进程最多可以同时建立60000多个TCP客户端连接。

net.ipv4.ip_conntrack_max = 20000

如果按上述参数进行设置,则理论上单独一个进程最多可以同时建立20000多个TCP客户端连接。

选一个设置即可。

修改完毕后,执行下面命令,使配置立即生效,或者重启:

sysctl -p /etc/sysctl.conf #或者sysctl -p

sysctl -w net.ipv4.route.flush=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么叫网络抖动

网络抖动: 网上说法是指网络中的延迟是指信息从发送到接收经过的延迟时间,一般由传输延迟及处理延迟组成; 而抖动是指最大延迟与最小延迟的时间差,如最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫…

硬件知识:电脑组装机必备的知识梳理

今天小编给大家分享电脑组装机必备的知识,希望对大家能有所帮助! 确实机箱内部的硬件连接中,大多数线材的插头和插孔都是独特的,比如主板的204pin,CPU的44pin都不能通用,多接口中方口和圆口的搭配也不会导致…

多态、抽象类

多态、抽象类 多态: 多态:多种形式; 多态是指一个对象有多种形式的能力; 多态描述:相同的行为;不同的实现; 多态分类: 静态多态:程序在编译时,系统就能决定调…

android 首页布局变换,Android XML布局与View之间的转换

Android的布局方式有两种,一种是通过xml布局,一种是通过java代码布局,两种布局方式各有各的好处,当然也可以相互混合使用。很多人都习惯用xml布局,那xml布局是如何转换成view的呢?本文从源码的角度来简单分…

C++的ORM工具比较

用过Java的都知道SSH框架,特别对于数据库开发,Java领域有无数的ORM框架,供数据持久层调用,如Hibernate,iBatis(现在改名叫MyBatis),TopLink,JDO,JPA……非常方便实用。用过C#的同学们…

电脑技巧:Win10自带存储感知功能给电脑磁盘瘦身

今天给大家分享Win10自带存储感知功能给电脑磁盘瘦身功能,希望对大家能有所帮助!1、什么是存储感知Win10存储感知功能属于Win10操作系统的一大亮点,自带有AI的存储感知功能发挥其磁盘清理功能,它可以在操作系统需要的情况下清理不…

线程的优先级

setPriority(); 设置线程的优先级Thread类里面的 MIN_PRIORITY 1 表示最小优先级 NORM_PRIORITY 5 表示默认优先级 MAX_PRIORITY 10 表示最大优先级

电脑存储:A盘、B盘知识介绍,为何总是电脑磁盘从C盘开始

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉: 数据库领域优质创作者🏆&#x…

使用axis发送xml报文,返回并解析报文实例

前段时间刚好学了一点webservice,因此想和大家分享一下我的成果,因为能力原因,只能做个小实例,望大家见谅! 此实例的思路是:(1)用String类型构造好需要发送的报文;(2)使用axis调用服…

某游戏在华为鸿蒙,华为鸿蒙系统运行安卓游戏出现新状况!安卓换皮论被彻底打脸?...

虽然华为鸿蒙系统已经经过几轮的测试,准备在6月份大规模推送正式版本了,但现在依然还有一些杂音不绝于耳。最主要的争议点还是老生常谈的”鸿蒙系统到底是不是安卓系统的换皮“。支持鸿蒙系统安卓换皮的一方拿出过不少证据,比如安装包还是APK…

java为什么还需要分布式锁?

什么是锁? 在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。 而同步的本质是通过锁来实现的。为了…

电脑技巧:电脑插上U盘就死机或重启原因和解决办法

大家平时将u盘或其他可移动设备连接电脑插口的时候,不少电脑小白都碰到过操作系统自动重启甚至出现电脑死机的尴尬情况。针对u盘等外部设备连接引起的电脑死机问题,我们应该根据具体问题具体分析,找到原因就可以解决掉。接下来小编带大家看看…

使用UGUI绘制自定义几何图形

本文展示了如何使用UGUI绘制矩形,同理可绘制其他几何图形。 UGUI的渲染体系,简单来说所有的控件和可显示的元素都是Graphic。Graphic持有一个CanvasRenderer,通过SetVertices设置顶点,最终完成绘制。 举例来说,Image控…

android t类型参数,android – Kotlin属性:“属性的类型参数必须在其接收器类型中使用”...

我有以下简单的Kotlin扩展功能:// Get the views of ViewGroupinline val ViewGroup.views: Listget() (0..childCount - 1).map { getChildAt(it) }// Get the views of ViewGroup of given typeinline fun ViewGroup.getViewsOfType() : List {return this.views…

电脑技巧:分享七个解决烦人的弹窗广告的小技巧

目录 1、及时卸载用不到的垃圾软件 2、修改软件设置(关闭不需要的资讯、广告) 3、开机启动项中禁用不需要的应用 4、删除弹窗广告程序 5、提高操作系统阻止级别 6、禁止弹窗广告的任务计划 7、安装火绒杀毒软件设置弹窗广告拦截 最后总结 很多朋友经常会…

MySQL+Amoeba实现数据库主从复制和读写分离

MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的。通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性。实现数据的读写分离能带来的好处有: 增加物理服务…

从操作系统层面描述线程的五种状态

[初始状态] 仅是在语言层面创建 了线程对象, 还未与操作系统线程关联 [可运行状态] (就绪状态) 指该线程已经被创建(与操作系统线程关联), 可以由CPU调度执行 [运行状态] 指获取了CPU时间片运行中的状态 当CPU时间片用完,会从[运行状态]转…

html桌面图标样式,如何更改图标样式,换桌面图标的方法

打开桌面,桌面上摆放了放多程序的快捷方式,我们每天打开电脑最先接触的就是这些快捷方式图标。时间长了,是不是感觉乏味了。可以换一换。比如,在我的电脑桌面上有这样一个图标,那怎样更改桌面图标?下面&…