首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/etc/security/limits s.conf和/proc/$PID/limits之间的差异

/etc/security/limits s.conf和/proc/$PID/limits之间的差异
EN

Unix & Linux用户
提问于 2018-03-06 02:56:41
回答 1查看 2.1K关注 0票数 1

我在/etc/security/limits.conf中的配置是

代码语言:javascript
复制
* soft nofile 60000
* hard nofile 60000

我在ubuntu.after中运行nginx重新启动ubuntu,ulimit -n是60000,但是

代码语言:javascript
复制
cat /proc/`ps -elf | grep nginx | grep 'master process' | awk '{print $4}'`/limits| grep 'open files'

答案是1024,为什么不是60000?

EN

回答 1

Unix & Linux用户

发布于 2018-03-06 06:34:53

/etc/security/limits.conf在登录时由PAM模块pam_limits.so读取。

但是,当nginx在引导时启动时,它永远不会通过登录过程,因此PAM从来没有机会对nginx进程或它的任何父进程进行任何ulimit更改。

如果您的nginx是由脚本启动的,那么您应该向脚本中添加ulimit命令:

代码语言:javascript
复制
ulimit -H -n 60000
ulimit -S -n 60000

如果nginx是由systemd .service文件启动的,请使用systemctl edit nginx.service,并将该行添加到文件的[Service]部分:

代码语言:javascript
复制
LimitNOFILE=60000:60000

systemctl edit some.service将自动从[/usr]/lib/systemd树中获取原始服务文件,并将修改后的版本放在/etc/systemd下。/etc/systemd中的任何文件都将覆盖位于[/usr]/lib/systemd树中同名的任何文件。

它还将导致服务配置自动重新加载,因此不需要手动使用systemctl daemon-reload

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/428406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档