Como definir o limite de nofile no rsyslog com o upstart?

1

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
    
por Giles Thomas 10.12.2015 / 14:46

1 resposta

0

David Lang na lista de discussão do rsyslog foi capaz de me esclarecer 1. O problema é que eu estava usando restart rsyslog . Isso não recarrega o arquivo upstart rsyslog.conf . Se você usar stop rsyslog e, em seguida, start rsyslog , o arquivo será lido e a opção limit nofile XXXX entrará em vigor.

    
por 15.12.2015 / 20:52