Ubuntu

如何使用 upstart 設置 rsyslog 的 nofile 限制?

  • December 17, 2015

我正在努力研究如何在 Ubuntu 14.04 上設置 rsyslog 的打開文件限制。它使用了新貴,它忽略了limits.conf,但我希望能夠把

limit nofile 16384 16384

按照此 rsyslog 電子郵件列表文章的/etc/init/rsyslog.conf建議。但是完成並執行後,當我檢查時,我可以看到“最大打開文件”仍然是 1024 軟,4096 硬。restart rsyslog``/proc/$RYSLOGPID/limits

我的第一個猜測是,問題與 Upstart 腳本使用script標籤而不是簡單exec的啟動這一事實有關rsyslog,後者做了某種花哨的分叉。但是,我嘗試將 aulimit -n放入該script部分,但無濟於事,並且我還嘗試擺脫這些script東西(它的存在純粹是為了確保來自/etc/default/rsyslog環境的東西 - 除了設置RSYSLOGD_OPTIONS為之外,該文件是空的空字元串,所以這是一個無操作),也無濟於事。

有沒有人有任何想法?

完整的暴發戶腳本如下:

# 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

rsyslog 郵件列表上的David Lang能夠讓我直接了解這一點。問題是我使用的是restart rsyslog. 這不會重新載入rsyslog.conf新貴文件。如果使用stop rsyslogthen start rsyslog,則讀取文件,該limit nofile XXXX選項將生效。

引用自:https://unix.stackexchange.com/questions/248560