ubuntu upstart - 如何设置全局 nofile 限制?

ubuntu upstart - 如何设置全局 nofile 限制?

Ubuntu 12.04

我已更改设置:

 /etc/security/limits.conf
 *               soft    nofile          65000
 *               hard    nofile          65000

但是 cat /proc/{PID}/limits:

Limit                     Soft Limit           Hard Limit           Units     
Max open files            1024                 4096                 files 

我找到了问题所在。Upstart 有一个 bug,导致它忽略了/etc/security/limits.conf。这些链接描述了该错误和解决方法。

现在的问题是,如何设置全局 nofile 限制,因为我不想在我需要的每个 upstart 脚本中设置 nofile 限制。

谢谢。

答案1

Upstart 的行为与规定一致,不是一个错误 - 服务受其自身配置的约束,而不是安全限制(它绑定了没有其他定义的用户进程 - 因此它是安全限制)。

已经做了一些工作来实施Upstart 的“全局配置”默认文件但这似乎被忽视了(可能是由于 Upstart 开发人员没有承诺)。

我认为,最好的选择是创建一个只包含limit nofile指令的覆盖文件,然后将其复制以覆盖所有现有的 upstart 服务。如下所示:

for file in /etc/init/*.conf
  do echo "limit nofile 65000 65000" > "${file%%.conf}.override"
done

相关内容