iceecream 发表于 2018-8-30 20:33:23

limits.conf不生效

有时候我们通过/etc/security/limits.conf 设置用户资源限制,但是却不生效,可以通过以下方法来进行排查



[*]/etc/security/limits.conf
[*]/etc/security/limits.d/*.conf
这些文件通过pam_limits.so设置一些用户的限制,限制同上节解释。语法: <domain> <type> <item><value>
[*]<domain>,一般为用户名或者用户组。以及通配符*
[*]<type>,一般为hard、soft、及-(二者都限制)
[*]<item>   ,限制项目,参见文件内容解释以及 man limits.conf
[*]<value>,限制值




[*]limits.conf不生效
有时候从ssh客户端上去看ulimit -a 会发现一些设置不生效,一般可以按一下步骤排查
[*]limits.conf是否有文字错误
修正文字错误
[*]limits.d目录中的文件是否有同名设置。
注释掉同名设置。
[*]让 SSH 接受   Login 程式的登入,方便在 ssh 客户端查看 ulimit -a 资源限制:
a、vi /etc/ssh/sshd_config把 UserLogin 的值改为 yes,并把 # 注释去掉b、重启 sshd 服务:/etc/init.d/sshd restart
[*]打开   SSH的PAM认证(与上一条二选一)
a、确认/etc/pam.d/sshd配置正确b、把UsePAM设置为yes并重启sshd

[*]查看进程的limit限制

[*]查看进程打开文件句柄数
lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | more
cat /proc/self/limits |grep 'Max open files'self可以换成pid
for pid in `ps aux |grep nginx |grep -v grep|awk'{print $2}'`docat /proc/${pid}/limits |grep 'Max open files'done
页: [1]
查看完整版本: limits.conf不生效