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.


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


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.