Estou executando o El Capitan / Mac OSX 10.11.6 (15G1108) e quero aumentar o "Max Open files" para algumas das minhas sessões de terminais / bash. Estou logado com meus usuários normais. Eu li todos os guias que consegui encontrar e consegui aumentar alguns limites:
Como meu usuário:
$ launchctl limit maxfiles
maxfiles 200000 200000
Mas, quando tento definir o limite, falho:
$ ulimit -n 8096
-bash: ulimit: open files: cannot modify limit: Operation not permitted
O estranho é que eu posso definir o ulimit se eu mudar para root:
$ sudo bash
$ ulimit -n 9086
Agora, é claro, executar tudo como root é estúpido, então estou procurando uma solução melhor. Como posso permitir que meu usuário também aumente seu "Limite máximo de arquivos"?
O que eu já fiz:
$ cat /etc/sysctl.conf
kern.maxfiles=65536
kern.maxfilesperproc=65536
$ cat /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>200000</string>
<string>200000</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
ulimit -n *
.Respostas:
Tendo tido exatamente o mesmo problema, eu finalmente descobri que minha sequência de inicialização do bash (
.bashrc
ou similar) estava fazendo umulimit -n 1024
; e isso fez com que tanto o limite suave quanto o limite rígido fossem definidos; o último dos quais impediu qualquer tentativa de aumentá-lo depois, dando origem ao"bash: ulimit: open files: cannot modify limit: Operation not permitted"
erro.Então, removendo esse comando, os limites suaves e rígidos foram restaurados para os padrões aparentes do sistema
256
eunlimited
respectivamente. O último é o que lhe permitiráulimit -n <whatever>
novamente.No seu caso, assumindo a causa é semelhante e seu
Library/LaunchDaemons/limit.maxfiles.plist
ainda está em vigor, conforme listado, espero queulimit -Sn
eulimit -Hn
irá relatar tanto para ser200000
.fonte
Para mim no macOS Mojave, eu tive que definir ambos:
.bash_profile
.bashrc
Se você definir somente a partir do perfil, só poderá aumentar de 256 para 1024.
É estranho porque não há muita informação sobre isso online, eu me pergunto como os desenvolvedores gerenciam sem ele.
fonte