首页 > 其他分享 >Mac 最大连接数和端口的相关参数

Mac 最大连接数和端口的相关参数

时间:2024-10-12 11:03:48浏览次数:1  
标签:maxfiles sysctl ip 端口 连接数 kern Mac portrange net

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 文件中。

标签:maxfiles,sysctl,ip,端口,连接数,kern,Mac,portrange,net
From: https://www.cnblogs.com/lliuhuan/p/18460082

相关文章

  • iis网站数据库无法连接数据库
    IIS网站无法连接数据库的问题可能由多种原因导致,以下是一些常见的排查步骤和解决方法:检查数据库连接字符串:确认数据库服务器地址、端口、用户名和密码是否正确。检查是否有防火墙或安全组规则阻止了访问。确认数据库服务状态:确保数据库服务(如MySQL,SQLServer等)正在......
  • 宝塔面板占用443端口怎么办
    宝塔面板默认会占用443端口来提供HTTPS服务,如果你在服务器上部署了其他服务也需要使用443端口,可能会遇到端口冲突的问题。以下是一些解决方法:更改宝塔面板的端口登录到宝塔面板。前往“服务器”->“nginx”或“Apache”设置。修改HTTP和HTTPS端口号。保存并重启服务。......
  • 【AN】Adobe Animate多媒体创作和电脑动画程序win/mac下载安装
    目录AdobeAN软件功能AdobeAN软件下载与安装下载:安装:AdobeAN软件功能AdobeAN软件,全称AdobeAnimate,是一款由AdobeSystems开发的功能强大的多媒体创作和电脑动画程序。以下是其主要功能概述:动画制作:2D及简单3D动画:AdobeAnimate能够轻松创建高质量的2D动画,并支持......
  • mac安装ps2023
    花了5毛钱从网上找的资源下载的,真累啊,找了好久https://www.123pan.com/s/65fKVv-fekWA1、安装时提示error2、包内容中打开install2、错误码501安装错误原因:Mac系统缺少ACC云运行框架,导致安装报错!3、错误码81adobecreateclould退出登录账号;......
  • MacOS在VS code上运行Python失败,通过更改pythonPath解决
    问题描述安装完成python后,默认的运行python命令是python3,而VSCode上默认命令是python解决办法在file\preference\settings下(或使用快捷键Ctrl+,),搜索python.pythonPath然后点击AddItem,加入"python.pythonPath"="python3"再修改一下调试结束之后保存,重启VSCode......
  • 你的Mac电脑的terminal还是黑白的吗?快来设置一下吧
    更改ls显示目录的颜色进入terminal,进入~目录:cd~编辑.bash_profile文件:vim.bas_profile按i进入编辑态,添加以下三行代码 exportLS_OPTIONS='--color=auto' #如果没有指定,则自动选择颜色   exportCLICOLOR='Yes' #是否输出颜色exportLSCOLORS='gxfxaxd......
  • 华为交换机配置-端口隔离
    端口隔离(port-isolate)1.端口隔离配置端口隔离功能,可实现本台交换机的两个接口之间的二层数据的隔离,而三层数据互通拓扑图<sw1>sys//配置全局端口隔离模式为二层隔离(l2)、三层隔离(l3)[sw1]port-isolatemodel2[sw1]interfaceGigabitEthernet0/0/1//将端口1加入端口隔离组......
  • 如何让你的Mac右键菜单栏更加的丰富多样
    Mac电脑的右键菜单栏不如Windows的丰富,虽然可以在系统设置一些常用功能,但是种类不够丰富,这对于一些用惯了Windows的人来说可以说是非常的不习惯,不管是工作使用还是日常使用来说都有一些影响,如何才能让Mac的右键菜单栏像Windows一样的丰富方便呢,超级右键替你解决这个问题可......
  • 新手小白想快速上手Mac的使用必看问题
    相信不论是现在还是将来,肯定还是会有Mac小白的存在,对于大多数人来说,从小接触Windows的机会比较多,Windows的使用也是比较多,但是有些朋友在大学的时候想体验一下Mac的感觉,于是果断下单,又或者工作之后发现,Mac的高续航更适合自己,总之不管是何种原因,Mac能够拥有庞大的用户群体,自然是......
  • Codeforces Round 932 (Div. 2) C. Messenger in MAC
    对于选定的\(p_i\)的情况下,如何使得代价小?显然是按照\(b\)升序的方式。因此我们可以考虑按照\(b\)进行排序。考虑一种贪心的做法,我们枚举区间\([l,r]\),这样区间的必选就是\(a_l,a_r,(b_r-b_l)\),因此我们可以贪心的选择剩下\(a\)中的最小值。这样复杂度是\(O(n^3\logn)\)。考......