Como definir ulimits para o mongod
processo / usuário no CentOS?
Eu li a documentação oficial, mas ela não fornece instruções específicas do sistema operacional.
Preciso definir
ulimit -u 64000
e persistir após a reinicialização.Estou executando o CentOS 5.5, embora esteja atualizando para 6.5 em breve.
Prefiro não modificar nenhum script instalado pelo gerenciador de pacotes
cat /proc/{pid}/limits
não mostra nenhuma alteração. É necessário fazer algo adicional para garantir que a conf seja lida?A versão mais recente do script de inicialização do CentOS mongod (/etc/init.d/mongod) possui as configurações padrão incorporadas na opção de inicialização:
Se você deseja alterar os valores e não modificar o script, copie o script para /etc/init.d/mongod-custom, edite o script init personalizado, defina seus valores e altere chkconfig para usar mongod-custom em vez de mongod.
fonte
Para adicionar à resposta de thaspius, os limites parecem estar definidos como ele descreve no script init, mas eu ainda estava recebendo o aviso
[initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
Isso parece sugerir que o limite de arquivos definido no script init entrou em vigor, mas não o limite de processos. Também seguindo a resposta de Nathan C e adicionando
mongod soft nproc 64000
para
/etc/security/limits.d/90-nproc.conf
e reiniciar o sistema resolvido a questão.Se alguém é capaz de esclarecer por que isso era necessário, apesar de ter os valores no script init do mongodb, sou todo ouvidos!
fonte
Faça essa alteração no
/etc/security/limits.conf
arquivo. Defina os limites rígidos e flexíveis, e você deve ser bom.fonte
/etc/security/limits.d/
ao invés de mexer com olimits.conf
arquivo diretamentePara que a mudança seja persistente, é necessário editar o script de init, por exemplo, no Red Hat 7, o script init tem a seguinte linha:
Você precisa adicionar o próximo:
E, em seguida, reinicie o serviço.
Eu espero que isso ajude.
fonte