咱們使用CentOS系統,在部署新的服務常常會遇到 打開最大文件數限制 too many open files的警告,一般咱們只須要修改/etc/security/limits.conf該文件,增長兩行,從新登陸下用戶便可解決,以下:html
vim /etc/security/limits.conf * soft nofile 60000 * hard nofile 65535
若是想要更細的控制粒度,能夠在/etc/security/limits.d/90-nproc.conf對指定的用戶(以testuser爲例)進行限制nginx
vim /etc/security/limits.d/90-nproc.conf testuser - nofile 4096 # '-' 表明soft及hard都這樣進行設定 nginx - nofile 4096
但,當/etc/security/limits.conf修改後,任憑如何調整設置,甚至重啓主機都沒有生效,就要從如下幾個點進行排查了:vim
一、檢查/etc/ssh/sshd_config 中**UsePAM yes
**選項是否開啓session
二、檢查/etc/pam.d/system-auth 中是否存在**session required pam_limits.so
**這一項ssh
三、檢查/etc/pam.d/login 中是否將pam_limits.so文件被加入到啓動文件中存在**session required /lib64/security/pam_limits.so
**這一項ui
解釋(一、2):**UsePAM yes
選項開啓後,表示啓用pam模塊,在/etc/pam.d/sshd中默認已存在一項session include password-auth
配置,include
表示須要password-auth
模塊須要經過認證,在/etc/pam.d/system-auth裏還應該存在session required pam_limits.so
**這一項,表示使用/etc/security/limits.conf這個配置code
解釋(3):要讓limits.conf文件配置可以生效,必須將pam_limits.so模塊文件加入到啓動文件中,故應在/etc/pam.d/login配置文件中添加**session required /lib64/security/pam_limits.so
**這一項htm
排查後從新登陸一下用戶就能夠生效了,若是還未生效就要逐個排查/etc/pam.d下相關連的文件是否將**session required pam_limits.so
**這一下項註釋或刪除了blog
原文出處:https://www.cnblogs.com/ymei/p/11776582.html部署