天天看点

mac docker gitlab 503:too many open files背景解决办法

背景

在mac上装了个docker、在docker里起了个gitlab,结果gitlab太吃电脑了,随便一操作就挂了报503.。。通过日志发现是too many open files。

解决办法

只有增加mac的文件打开数。结果发现ulimit -n 最大256.。坑爹啊。

通过查找google发现通过以下方式来修改,只在10.14、10.12上测试OK,应该10.12以后的都可以。:

  1. 创建文件

    sudo vim /Library/LaunchDaemons/limit.maxfiles.plist

  2. 复制以下内容,里面数值自己改:
<?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> 
           
  1. 修改权限

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

  2. 加载

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

  3. 查看最大限制

    launchctl limit maxfiles

    ,会发现变成64000了
  4. 但是每次启动

    ulimit -n

    发现还是256.。需要将修改命令添加到环境变量中~/.bash_profile:

    ulimit -n 64000

    。别忘了

    source ~/.bash_profile