limits.conf 配置不生效問題排查


在部署新的服務經常會遇到打開最大文件數限制 too many open files 的警告,通常我們只需要修改/etc/security/limits.conf該文件,增加兩行,重新登錄下用戶即可解決,limits.conf 文件如下:

1、limits.conf 文件

vim /etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535

 注意:還有 /etc/security/limits.d/90-nproc.conf 文件,二者不要沖突。

2、重啟不生效問題

當 /etc/security/limits.conf 修改后,如果重啟主機都沒有生效,就要從以下幾個點進行排查了:

  • 1、檢查/etc/ssh/sshd_config 中UsePAM yes選項是否開啟。解釋1:UsePAM yes選項開啟后,表示啟用pam模塊,在/etc/pam.d/sshd中默認已存在一項session include password-auth配置,include表示需要通過 password-auth模塊認證。

  • 2、檢查/etc/pam.d/system-auth 中是否存在session required pam_limits.so這一項。 解釋2:在/etc/pam.d/system-auth里還應該存在session required pam_limits.so這一項,表示使用/etc/security/limits.conf這個配置

  • 3、檢查/etc/pam.d/login 中是否將pam_limits.so文件被加入到啟動文件中存在session required /lib64/security/pam_limits.so這一項。解釋3:要讓limits.conf文件配置能夠生效,必須將pam_limits.so模塊文件加入到啟動文件中,故應在/etc/pam.d/login配置文件中添加session required /lib64/security/pam_limits.so這一項

排查后重新登錄一下用戶就可以生效了,如果還未生效就要逐個排查/etc/pam.d下相關連的文件是否將session required pam_limits.so這一下項注釋或刪除了

3、操作系統參數

另外影響最大打開文件句柄數量的還有/etc/sysctl.conf文件的配置:

fs.file-max = 102400 #內核可分配的最大文件數
fs.nr_open = 1048576 #單個進程可分配的最大文件數
fs.inotify.max_user_instances = 65535 #每個用戶最大可創建inotify instances數量
fs.inotify.max_user_watches = 102400 #每個用戶可同時添加的watch數量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM