天天看點

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