Posso usar o ulimit, mas acho que isso afeta apenas minha sessão do shell. Quero que o limite seja aumentado para todos os processos. Isso está na Red Hat.
Posso usar o ulimit, mas acho que isso afeta apenas minha sessão do shell. Quero que o limite seja aumentado para todos os processos. Isso está na Red Hat.
Respostas:
A resposta de Justin informa como aumentar o número total de arquivos abertos disponíveis 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 nesse arquivo em si e em man limits.conf
. Isso é implementado através do pam_limits.so
módulo chamado para vários serviços configurados no /etc/pam.d/
.
E, devo admitir, não tenho ideia de onde esse padrão 1024 vem. E acredite em mim, eu olhei. Eu até tentei sem o módulo pam_limits configurado, e ele ainda está lá. Deve estar codificado em algum lugar, mas não sei exatamente onde.
De acordo com o artigo Linux Aumente o número máximo de arquivos abertos / descritores de arquivo (FD) , você pode aumentar o limite de arquivos abertos adicionando uma entrada a /etc/sysctl.conf
.
Anexe uma diretiva de configuração da seguinte maneira:
fs.file-max = 100000
Em seguida, salve e feche o arquivo. Os usuários precisam fazer logoff e logon novamente para que as alterações entrem em vigor ou elas podem apenas digitar o seguinte comando:
# sysctl -p
Você também pode verificar suas configurações com o comando:
# cat /proc/sys/fs/file-max
Aumentar o número máximo de arquivos abertos ulimit no Linux
1.Step: abra o sysctl.conf
e adicione esta linha fs.file-max = 65536
$ vi /etc/sysctl.conf
adicione nova linha e
fs.file-max = 65536
salvar e sair.
2. passo:
$ 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 verificar arquivo aberto máximo ulimit
# ulimit -a
....
open files (-n) 65535
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 o systemd ), precisará fazer isso diretamente no arquivo .service
/lib/systemd/system/<servicename>.service
Será algo como isto:
[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 lançados pelo systemd no CentOS 7
systemd
suas mudanças em andamento está aumentando em todo o ecossistema Linux. No entanto, sugiro editar a resposta cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
e fazer as alterações nesse arquivo, em vez do arquivo de serviço em todo o sistema fornecido pelo pacote.
SUPLEMENTO:
Você pode encontrar a configuração em outro local: /etc/security/limits.d/*.conf
Eu tive que modificá-lo. Não funcionou sem ele. O formato é o mesmo que paralimits.conf