MacOS 文件句柄数不够 Error: EMFILE: too many open files

MacOS 文件句柄数不够 Error: EMFILE: too many open files

启动项目发现报错:Error: EMFILE: too many open files;经排查是因为单个微应用项目较大,发布过程中已经超过了mac默认的文件监听上限对文件系统进行大量并发调用,操作系统的文件描述符数量会被瞬间用光,抛出EMFILE,too many open files。

直奔主题-解决方案

解决方式也比较简单,只要修改文件最大上限即可,注意这是临时修改,过了一段时间后,又会恢复到默认的大小,永久修改需要在配置文件中修改.

执行 launchctl limit 查看下,结果如下

javascript 复制代码
	cpu         unlimited      unlimited      
	filesize    unlimited      unlimited      
	data        unlimited      unlimited      
	stack       8388608        67104768       
	core        0              unlimited      
	rss         unlimited      unlimited      
	memlock     unlimited      unlimited      
	maxproc     11136          16704          
	maxfiles    2048           65535  

其中 maxfiles 2048 65535 上限值改大点

终端执行 sudo launchctl limit maxfiles 5000000 5000000 这里会提示输入密码

再次查看执行 launchctl limit 查看下,结果如下

javascript 复制代码
	cpu         unlimited      unlimited      
	filesize    unlimited      unlimited      
	data        unlimited      unlimited      
	stack       8388608        67104768       
	core        0              unlimited      
	rss         unlimited      unlimited      
	memlock     unlimited      unlimited      
	maxproc     11136          16704          
	maxfiles    5000000        5000000    

再次启动正常

相关推荐
提笔忘字的帝国5 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
@AfeiyuO7 小时前
Vue3 高德地图
vue·echarts
sanra1237 小时前
前端定位相关技巧
前端·vue
Sun_小杰杰哇8 小时前
Dayjs常用操作使用
开发语言·前端·javascript·typescript·vue·reactjs·anti-design-vue
数据雕塑家11 小时前
【网络故障排查实战】多台机器互ping异常:MAC地址冲突引发的网络“薛定谔猫“现象
网络·macos
座山雕~15 小时前
VUE 3
vue
TheNextByte116 小时前
将照片从Mac传输到Android 7 种可行方法
android·macos·gitee
@AfeiyuO16 小时前
Vue3 中国地图
vue·echarts
提笔忘字的帝国16 小时前
【2026版】macOS 使用 Homebrew 快速安装 Java 21 教程
java·开发语言·macos
LongtengGensSupreme17 小时前
开放所有跨域 ----前端和后端
前端·后端·ajax·vue·api·jquery