Como posso aumentar o limite de arquivos abertos para todos os processos?

30

Eu posso usar o ulimit, mas acho que afeta apenas a minha sessão de shell. Eu quero o limite aumentado para todos os processos. Isso está na Red Hat.

    
por countermode 09.03.2011 / 17:03

5 respostas

23

A resposta do Justin diz como aumentar o número de arquivos abertos disponíveis total para todo o sistema. Mas acho que você está perguntando como aumentar o limite por usuário, globalmente. A resposta para isso é adicionar as seguintes linhas a /etc/security/limits.conf :

*               soft    nofile            2048
*               hard    nofile            2048

(onde o * significa todos os usuários.)

Há alguma documentação de resumo no próprio arquivo e em man limits.conf . Isso é implementado por meio do módulo pam_limits.so , que é chamado para vários serviços configurados em /etc/pam.d/ .

E, tenho que admitir, não tenho ideia de onde vem o padrão 1024. E acredite em mim, olhei. Eu até tentei sem o módulo pam_limits configurado, e ele ainda está lá. Deve ser codificado em algum lugar, mas não sei exatamente onde.

    
por 09.03.2011 / 18:53
9

De acordo com o artigo Linux aumenta o número máximo de arquivos abertos / Descritores de Arquivo (FD) , você pode aumentar o limite de arquivos abertos incluindo uma entrada em /etc/sysctl.conf .

Anexe uma diretiva de configuração da seguinte forma:

fs.file-max = 100000

Em seguida, salve e feche o arquivo. Os usuários precisam fazer logout e efetuar login novamente para que as alterações entrem em vigor ou apenas digitem o seguinte comando:

# sysctl -p

Você também pode verificar suas configurações com o comando:

# cat /proc/sys/fs/file-max
    
por 09.03.2011 / 18:23
9

Aumenta o número máximo de arquivos abertos ulimit no Linux

1.Etapa: abra o sysctl.conf e adicione essa linha fs.file-max = 65536

$ vi /etc/sysctl.conf

adicione uma nova linha e

fs.file-max = 65536

salve e saia.

2.Etapa:

$ vi /etc/security/limits.conf

e adicione abaixo o mencionado

* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

salvar e sair marque o máximo de arquivos abertos ulimit

# ulimit -a

....
open files                      (-n) 65535
    
por 17.07.2014 / 08:33
6

Mas se você estiver tentando aumentar o número máximo de arquivos abertos de um serviço como o MariaDB ou qualquer outra coisa (usando systemd ) você precisa fazer diretamente no arquivo .serviço

/lib/systemd/system/<servicename>.service

Será algo assim:

[Unit]
Description=Some Daemon
After=syslog.target network.target

[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon

[Install]
WantedBy=multi-user.target

A resposta completa está aqui: Aumentando o nproc para processos iniciados pelo systemd no CentOS 7

    
por 06.07.2017 / 21:58
2

SUPLEMENTO:

Você pode encontrar a configuração em um lugar diferente: /etc/security/limits.d/*.conf

Eu tive que modificá-lo. Não funcionou sem isso. O formato é o mesmo que para limits.conf

    
por 14.12.2016 / 15:47