Estou tentando fazer algo que requer um grande número de descritores de arquivo
sudo ulimit -n 12288
é tão alto quanto o Snow Leopard quer ir; além disso resulta em
/ usr / bin / ulimit: linha 4: ulimit: arquivos abertos: não é possível modificar o limite: argumento inválido.
Quero aumentar o número muito mais, digamos 100000. É possível?
mac
osx-snow-leopard
ulimit
file-descriptors
Chris Poole
fonte
fonte
echo limit maxfiles 10000 10000|sudo tee -a /etc/launchd.conf
e reiniciar funciona para mim no Mavericks.Respostas:
Usar
ulimit
comando altera apenas os limites de recursos do shell atual e de seus filhos esudo ulimit
cria um shell raiz, ajusta seus limites e depois sai (não tendo, até onde eu possa ver, efeito real).Para exceder 12288, você precisa ajustar o kernel
kern.maxfiles
e oskern.maxfilesperproc
parâmetros e também (pelo menos de acordo com esta entrada do blog , que é um resumo desta discussão ) um limite de inicialização. Você pode usarlaunchctl limit
para ajustar tudo isso de uma vez:Para tornar isso permanente (ou seja, não redefinir quando você reinicia), crie
/etc/launchd.conf
contendo:Em seguida, você pode usar
ulimit
(mas sem osudo
) para ajustar seu limite de processo.Se isso não acontecer, você pode estar executando limites de tamanho no kernel. Se o seu modelo suportar , a inicialização do kernel no modo de 64 bits pode ajudar.
fonte
sudo launchctl limit maxfiles 1000000 unlimited
Nem o limite rígido nem flexível para "maxfiles" pode ser ilimitado. Por favor, use um parâmetro numérico para ambos.launchd.conf
. Acho que se o número for muito pequeno, ele poderá inutilizar o computador. Por exemplo, eu useilimit maxfiles 1024 1024
e tive muita dificuldade para mudar de volta.O seguinte deve resolver a maioria das soluções (e são listadas na ordem de sua hierarquia):
Notas:
fonte
Parece que existe um método totalmente diferente para alterar o limite de arquivos abertos para cada versão do OS X!
Para o OS X Sierra (10.12.X), você precisa:
1.
Library/LaunchDaemons
Crie um arquivo nomeadolimit.maxfiles.plist
e cole o seguinte em (fique à vontade para alterar os dois números (que são os limites flexíveis e flexíveis, respectivamente):2. Altere o proprietário do seu novo arquivo:
3. Carregue estas novas configurações:
4. Por fim, verifique se os limites estão corretos:
fonte
Parece que o OS X Lion não permitirá "ilimitado" como um valor:
Fornecer valores numéricos para o limite flexível e flexível faz o trabalho:
fonte
-1
como valor resulta em12288
. É possível usar valores numéricos maiores, por exemplosudo launchctl limit maxfiles 15000 150000
. Não tenho certeza se essas configurações têm efeito, então.No Mavericks é simples. Como usuário regular:
ulimit -n 8192
Você pode verificar as configurações atualizadas via
ulimit -a
Na minha máquina:
fonte
echo limit maxfiles 10000 10000|sudo tee -a /etc/launchd.conf
e reinicie sua máquinaNo OS X 10.13.6, isso funciona para mim:
fonte
Alguns limites não podem ser alterados
ulimit
, porque se aplicam apenas ao shell atual; portanto, olaunchctl
comando deve ser usado para alterar os limites globalmente, por exemploObserve que a aplicação desses limites no
/etc/launchd.conf
(como sugerido em outras respostas) não é mais suportada nas versões recentes do macOS. Embora ainda possa usarlaunchd.plist
(consulte :), como arquivos de configuraçãoman launchd.plist
por usuário ou em todo o sistema,plist
conforme sugerido aqui , ali e ali .Para tornar esses limites persistentes, você pode usar o
/etc/sysctl.conf
arquivo e adicionar, por exemplo:Para que as alterações tenham efeito, é necessário reiniciar.
Para ver os limites atuais, execute:
launchctl limit
ousysctl -a | grep ^kern.max
.Consulte também: Como manter as configurações de ulimit no macOS?
fonte