Estou com dificuldades para descobrir como definir o limite de arquivos abertos no rsyslog no Ubuntu 14.04. Ele usa Upstart, que ignora limits.conf
, mas eu esperaria ser capaz de colocar
limit nofile 16384 16384
em /etc/init/rsyslog.conf
como sugerido por esta postagem na lista de e-mail do rsyslog . Mas tendo feito isso e executado restart rsyslog
, quando eu verificar /proc/$RYSLOGPID/limits
eu posso ver que o "Max abrir arquivos" ainda é 1024 soft, 4096 hard.
Meu primeiro palpite foi que o problema está relacionado ao fato de que o script Upstart usa script
tags ao invés de um simples exec
para lançar rsyslog
, que faz algum tipo de bifurcação interessante. No entanto, tentei colocar um ulimit -n
na seção script
, mas não adiantou, e também tentei me livrar do script
stuff (que existe apenas para garantir que o material de /etc/default/rsyslog
esteja no ambiente - este arquivo estava vazio, além de definir RSYSLOGD_OPTIONS
para uma string vazia, então era um no-op), também sem sucesso.
Alguém tem alguma ideia?
O script completo de upstart segue:
# rsyslog - system logging daemon
#
# rsyslog is an enhanced multi-threaded replacement for the traditional
# syslog daemon, logging messages from applications
description "system logging daemon"
start on filesystem
stop on runlevel [06]
expect fork
respawn
limit nofile 16384 16384
pre-start script
/lib/init/apparmor-profile-load usr.sbin.rsyslogd
end script
script
. /etc/default/rsyslog
exec rsyslogd $RSYSLOGD_OPTIONS
end script