Mac上修改打开文件最大数目的方法

too many open files

too many open files(打开的文件过多)是Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。

众所周知Mac系统是基于linux内核开发的,但是在使用上却有很多不同有liunx系统的操作,比如修改程序打开文件最大数目。出于系统安全的考虑,mac默认的程序打开的文件/socket连接数量超过系统设定值为256。由于一些特殊的研发场景,通常需要增大这个数值,临时调整的办法是使用ulimit -n xxxxx命令,如果需要永久调整通常是修改**/etc/security/limits.conf**文件,但是在mac系统中则需要特别的方法。

OS X Sierra 修改maxfiles的方法

第一步:需要创建一个配置文件


touch /Library/LaunchDaemons/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>64000</string>
      <string>524288</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>ServiceIPC</key>
    <false/>
  </dict>
</plist>

第二步:修改配置文件所有者


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

第四步:载入配置


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

安装上述修改完成后则可以永久修改程序打开的最大文件数

参考资料

分类

开发
    --go (9)
    --java (5)
    --php (11)
    --mysql (9)
    --javascript (3)
    --html (1)
    --算法 (6)
架构
    --理论 (9)
    --网络 (3)
    --服务器 (2)
    --消息队列 (3)
    --容器 (5)
    --监控 (1)
    --搜索引擎 (3)
    --大数据 (0)
    --测试 (1)
系统
    --linux (10)
    --mac (2)
    --windows (1)
足球
    --世界杯 (60)
    --欧洲杯 (28)
    --文迷 (3)
大学时光
    --校园生活 (96)
    --假期生活 (17)
    --广院杯那些事 (14)
    --北京奥运 (6)
    --胡思乱写 (17)


最近发布

零拷贝技术介绍

服务网格技术简介

C语言标准和标准库简介

Kubernetes简介及环境搭建

Go语言开发的顶级项目


归档

2006 (109)
2007 (40)
2008 (47)
2009 (10)
2010 (6)
2012 (10)
2013 (14)
2014 (27)
2015 (15)
2016 (6)
2017 (8)
2018 (11)
2019 (17)
2020 (5)