1. 最大连接数限制

最大连接数限制就是系统所能打开的最大文件数(文件描述符)的限制,分全局和进程两种:

1.1. 全局

$ sysctl kern.maxfiles
kern.maxfiles: 49152
## 系统默认的最大连接数限制是 49152 $ sudo sysctl -w kern.maxfiles=1048600
### 设置系统最大连接数从 49152 到 1048600

1.2. 进程

$ sysctl kern.maxfilesperproc
kern.maxfilesperproc: 24576
### 单个进程默认最大连接数限制是 24576 $ sudo sysctl -w kern.maxfilesperproc=1048576
### 设置进程连接数限制 24576 到 1048576,进程的最大连接数要小于等于全局连接数

永久修改,需要在 /etc/sysctl.conf 里加上类似的下述内容

kern.maxfiles=20480
kern.maxfilesperproc=18000

这个文件可能需要自行创建

2. ulimit 命令

$ ulimit -n
4864
#### 显示当前shell能打开的最大文件数,默认值:4864,该值总是小于 kern.maxfilesperproc 的值,因为一个 shell 就是一个进程。 $ ulimit -n 1048576
### 设置当前shell能打开的最大文件数为 1048576,该值不能大于 kern.maxfilesperproc ,否则会提示设置失败。

3. 动态端口范围

3.1. Linux

root@test:~# sysctl -a|grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999
### 表示 Linux 动态端口号默认范围是32768-60999,也就是说,作为客户端连接同一个IP和同一个端口号,最多只能建立 28231 多个连接

Linux 修改动态端口范围的方法:

echo "net.ipv4.ip_local_port_range = 1024 65535" >> /etc/sysctl.conf
sysctl -p
## 修改 Linux 动态端口号默认范围是 1024-65535

3.2. Mac OS:

$ sysctl net.inet.ip.portrange
## 低范围
net.inet.ip.portrange.lowfirst: 1023
net.inet.ip.portrange.lowlast: 600
## 预设范围(默认使用该范围)
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.last: 65535
## 及高范围
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.hilast: 65535 ### Mac默认动态端口号默认范围是 49152-65535,只能建立 16383 个左右的连接。

Mac OS 修改动态端口范围

$ sysctl -w net.inet.ip.portrange.first=32768
## 表示修改动态端口的起始地址为 32768, 其他的类似。

4. launchd 对进程的限制

获取当前的限制:

$ launchctl limit maxfiles

输出类似这样:

maxfiles 256 unlimited

其中前一个是软限制,后一个是硬件限制。

临时修改:

$ sudo launchctl limit maxfiles 65536 200000

系统范围内修改则需要在文件夹 /Library/LaunchDaemons 下创建一个 plist 文件 limit.maxfiles.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>65536</string>
<string>200000</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>

修改文件权限

$ sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
$ sudo chmod 644 /Library/LaunchDaemons/limit.maxfiles.plist

载入新设定

$ sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist

5. 持久化 Mac 的配置(不建议)

sudo touch /etc/sysctl.conf;

## 添加如下内容到 /etc/sysctl.conf 文件
kern.maxfiles=1048600
kern.maxfilesperproc=1048576
net.inet.ip.portrange.first=49152
net.inet.ip.portrange.last=65535 ## 添加后重启

至于 ulimit -n 的值,可以写入到 .bashrc 文件中。

Mac 最大连接数和端口的相关参数的更多相关文章

  1. PostgreSQL数据库postgresql.conf部分相关参数

    listen_addresses:#指定数据库用来监听客户端连接的TCP/IP地址,默认是值是* ,表示数据库在启动以后将在运行数据的机器上的所有的IP地址上监听用户请求,可以写成机器的名字,也可以写 ...

  2. MySQL8常见客户端和启动相关参数

    MySQL8常见客户端和启动相关参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL常见的客户端 1>.使用MySQL服务自带的mysql连接工具 2>. ...

  3. Linux系统调优——内核相关参数(五)

    修改内核参数有3种办法:一种临时修改,两种永久修改. 临时修改是使用sysctl [选项] [参数名=值]命令:永久修改是修改/etc/sysctl.conf文件或修改/proc/sys/目录下的对应 ...

  4. iftop 安装以及相关参数及说明(转载自csdn)

      转载自http://blog.csdn.net/cqinter/article/details/6250211 关于 Iftop iftop 是类似于top的实时流量监控工具.主要用来显示本机网络 ...

  5. Linux TCP队列相关参数的总结 转

        在Linux上做网络应用的性能优化时,一般都会对TCP相关的内核参数进行调节,特别是和缓冲.队列有关的参数.网上搜到的文章会告诉你需要修改哪些参数,但我们经常是知其然而不知其所以然,每次照抄过 ...

  6. Linux TCP队列相关参数的总结

    作者:阿里技术保障锋寒 原文:https://yq.aliyun.com/articles/4252 摘要: 本文尝试总结TCP队列缓冲相关的内核参数,从协议栈的角度梳理它们,希望可以更容易的理解和记 ...

  7. Asp获取网址相关参数大全

      Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...

  8. ifconfig相关参数及用法说明

    一.ifconfig ifconfig 主要是可以手动启动.观察与修改网络接口的相关参数,可以修改的参数很多,包括 IP 参数以及 MTU 等都可以修改,它的语法如下: [root@linux ~]# ...

  9. linux centos7 防火墙及端口开放相关命令

    一.防火墙相关命令 1.查看防火墙状态 : systemctl status firewalld.service 注:active是绿的running表示防火墙开启 2.关闭防火墙 :systemct ...

  10. MySQL相关参数总结

    保留个原文链接,避免被爬虫爬了过去,以便后续更正补充:https://www.cnblogs.com/wy123/p/11273023.html MySQL参数繁多,是一个需要根据具体业务.软硬件环境 ...

随机推荐

  1. centos7LDAP服务搭建

    ladp服务搭建 用户名:cn=admin,dc=test,dc=com 密码:123456 1)软件安装yum install openldap openldap-clients openldap- ...

  2. 洛谷:P5707 【深基2.例12】上学迟到 (纯净的顺序结构方法)

    本内容纯作者吃饱了没事干做出来的,仅供娱乐和思路参考(当然代码肯定是AC了) 最近我想重新提升一下自己的编程能力,想选一个题量比较精炼的平台,所以就用了洛谷. 题目描述 学校和 yyy 的家之间的距离 ...

  3. [NOIP2022] 比赛 随机排列 部分分

    看到最大值,考虑使用单调栈搞出 \([la_i, ra_i], [lb_i, rb_i]\) 表示这一段区间 \(i\) 是 \(a, b\) 的最大值.预处理是简单的. inline void in ...

  4. MFC应用当中,修改tab顺序

    打开资源文件,按"Ctrl+D"组合键,可以查看控件的Tab顺序,使用鼠标顺序点击即可改变Tab顺序,此方法在Visual Studio 2022版本有效,其余版本没有测试过.

  5. Anaconda安装流程

    参考这篇博客,自己做一个记录而已anaconda安装 https://blog.csdn.net/Q_fairy/article/details/129158178

  6. Flink CDC 实时同步 MySQL

    Flink CDC 系列文章 Flink CDC 实时同步 MySQL Flink CDC 实时同步 Oracle 准备工作 MySQL 数据库(version: 5.7.25),注意,MySQL 数 ...

  7. AI工具推荐——Cherry Studio

    Cherry Studio介绍 Cherry Studio是一款支持多模型服务的 Windows/macOS GPT 客户端. 它的主要特点如下: 多样化的大型语言模型提供商支持 ️ 主要的大型语言模 ...

  8. GZY.EFCore.BulkExtensions 支持达梦数据库的EF Core批量操作库详解

    前言 EFCore.BulkExtensions是一个常用的EF core 批量处理数据的库. 但是支持的数据库相对较少.特别是.NET5.0版本 连MySQL都无法支持 这个库就是改造的最新EFCo ...

  9. 运筹帷幄,质效兼修:源启云原生基础设施管理平台助推企业IT基础资源能效跃迁

    导语 数字化大潮席卷,企业需要建设一套能够满足云原生环境下基础资源一体化管理和快速交付的基础设施自动化管理系统,系统需要具备"云上""云下""容器&q ...

  10. 2023 IDC中国数字金融论坛丨中电金信向行业分享“源启+应用重构”新范式

    9月8日,IDC主办的"2023 IDC中国数字金融论坛"在北京召开.中电金信受邀参会,并带来了深度数字化转型趋势之下关于应用重构的分享与洞见. 论坛重点关注金融科技创新发展趋势与 ...