Eu percebi isso graças a jogar com o Riak do Basho . As instruções para Yosemite são:
Para ajustar os limites de arquivos abertos em todo o sistema no Mac OS X Yosemite, você deve criar dois arquivos de configuração.
O primeiro é um arquivo de lista de propriedades (aka plist) em /Library/LaunchDaemons/limit.maxfiles.plist
que contém a seguinte configuração XML:
<?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>65536</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
Isso definirá o limite de arquivos abertos para 65536. O segundo arquivo de configuração plist deve ser armazenado em /Library/LaunchDaemons/limit.maxproc.plist
com o seguinte conteúdo:
<?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.maxproc</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxproc</string>
<string>2048</string>
<string>2048</string>
</array>
<key>RunAtLoad</key>
<true />
<key>ServiceIPC</key>
<false />
</dict>
</plist>
Ambos os arquivos plist devem pertencer a root:wheel
e ter permissões -rw-r--r--
. Essas permissões devem estar ativas por padrão, mas você pode garantir que elas estejam em vigor executando sudo chmod 644 <filename>
. Embora as etapas explicadas acima façam com que os limites de arquivos abertos em todo o sistema sejam definidos corretamente na reinicialização, você pode aplicá-los manualmente executando launchctl limit
.
Além de definir esses limites no nível do sistema, recomendamos a configuração no nível da sessão, acrescentando as seguintes linhas ao arquivo bashrc
, bashprofile
ou análogo:
ulimit -n 65536
ulimit -u 2048
Como os arquivos plist, seu bashrc
ou arquivo semelhante deve ter -rw-r--r--
permissões. Neste ponto, você pode reiniciar seu computador e inserir ulimit -n
no seu terminal. Se o seu sistema está configurado corretamente, você deve ver que maxfiles foi configurado para 65536.
O processo é ligeiramente diferente em outra versão do OS X, mas também está bem documentado por essa equipe. Mais uma vez, agradecimentos são devidos à equipe Basho por documentar este processo.