Como alterar os valores padrão de ulimit no Mac OS X 10.6?

42

O Mac OS X limita o número de processos a 266 e abre os arquivos a 256. Às vezes, isso é um problema; 256 arquivos abertos e 266 processos não são muito.

Como é possível alterar os valores padrão de ulimit no Mac OS X 10.6.7?

(Espero que não haja diferença entre 10.6.7 e outras versões do Snow Leopard.)

Pergunta relacionada na falha do servidor. Infelizmente, a resposta é para o Mac OS X 10.5 e não está funcionando na 10.6.

Olli
fonte
Para uma mudança rápida: ulimit -n 1024. Mas isso não muda o padrão.
Cœur

Respostas:

47

O launchctl tem controle sobre isso agora.

Você pode fazer um

launchctl limit maxfiles 2048 2048 

para definir os limites flexíveis e flexíveis para o máximo de arquivos abertos. Para mais informações, consulte a seção 'limite' de:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html

Aaron Kangas
fonte
1
Isso ainda funciona no OS X 10.9
Olli
Estou executando o 10.9.4 e quando eu launchctl limit maxfiles 2048 2048e mongoainda estamos recebendo o soft rlimits too lowerro. Mais alguma coisa que eu possa tentar?
Ryan
depois de alterar o limite com o sudo launchctl etc., feche / abra o terminal e defina o ulimit -n 2048. dessa vez, deve funcionar. verificá-lo com ulimit -n
chrismarx
4
Depois de executar o 'launchctl limit maxfiles 2048 2048', recebi 'muitos arquivos abertos' no meu Mac quando tentei fazer qualquer coisa no shell, e os aplicativos Cocoa mostraram menus vazios. O sistema estava praticamente torrado. Felizmente, uma reinicialização corrigiu.
Graham Wheeler
3
Não execute este comando no macOS Sierra. O comando correto seria, launchctl limit maxfiles 2048 unlimitedembora eu sugira visualizar suas configurações atuais launchctl limit maxfilesantes de fazê-lo; caso contrário, você trancará completamente o computador.
snowe2010
8

Há uma resposta no StackOverflow para este. Aparentemente ulimitfaz isso agora.

atl
fonte
1
Você pode alterar os valores com ulimit, mas não os salva. A postagem vinculada não inclui nenhuma maneira de salvar os padrões.
Olli
3
Uma solução rápida: Editar seu ~ / .bash_profile e adicione em uma linha: ulimit -n 1024 (usando qualquer número que você gosta, é claro)
PapaFreud
2
@PapaFreud Isso é executado apenas quando você abre o terminal / bash. Nem todos os programas são executados no terminal.
Olli
1

PARA SUA INFORMAÇÃO.

.bash_profile A atualização não me ajudou no OS v10.10.3, mas a reinstalação do NodeJS de 0.10.35 para 0.12.3 me ajudou e o erro desapareceu.

Andrii Lundiak
fonte