Existem duas configurações que limitam o número de arquivos abertos: um limite por processo e um limite para todo o sistema. O limite de todo o sistema é definido pelo fs.file-max
sysctl, que pode ser configurado em /etc/sysctl.conf
(lido durante a inicialização) ou definido em tempo real com o sysctl
ou escrevendo para /proc/sys/fs/file-max
. O limite por processo é definido por ulimit -n
.
O limite por processo é herdado por cada processo de seu pai. Um valor padrão pode ser definido em /etc/security/limits.conf
, mas isso se aplica somente a sessões interativas, não a daemons iniciados no momento da inicialização. Ele será aplicado a um daemon somente se for iniciado por meio de uma sessão interativa.
Para aumentar (ou diminuir) os limites por processo de um daemon, em geral, edite seu script de inicialização e adicione uma chamada a ulimit
antes de o daemon ser iniciado. O pacote Debian redis vem com uma configuração em um arquivo separado: /etc/default/redis
. Comente a linha ULIMIT=
e aumente o valor, se necessário.