linux修改limits.conf不生效

正常情况下, /etc/security/limits.conf 的改动,应该在下次访问时就生效才对。

一、修改方法

1.临时方法

为了优化linux性能,可能需要修改这个最大值。临时修改的话ulimit -n 204800就可以了,重启后失效。

2.永久生效方法

(1)、修改/etc/security/limits.conf文件 在文件末尾添加如下内容,然后重启服务器重新登录即可生效。重启后用查看命令进行查看,如果显示数字等于204800即证明修改成功。如果不成功请继续往下看

修改配置命令:
vim /etc/security/limits.conf
查看命令:(-n是可以打开最大文件描述符的数量。 -u是用户最大可用的进程数。)
ulimit -n
ulimit -u
* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800

我在解决这个问题时候,发现网上都是说修改这一个文件就行,但是我修改后重启服务器发现没更改过来。
后来发现,还需要修改两个文件。如果你重启后也没生效,请继续跟着往下修改

注:在修改下面(2)、(3)所示的这些文件时候,有些文件可能并不存在,或者90-nproc.conf没有,但是有20-nproc.conf,建议从根路径下,自己亲自cd进去。然后一步步找到目标文件。如果90-nproc.conf不存在,修改类似的文件即可,即xx-nproc.conf。

(2)、/etc/security/limits.d/90-nproc.conf文件尾添加

* soft nproc 204800
* hard nproc 204800

(3)、/etc/security/limits.d/def.conf文件尾添加

* soft nofile 204800
* hard nofile 204800

修改后,重启服务器,继续用查看命令查看,如果还是没解决,继续往下看。

二、不生效原因及解决方案

1. 确保 pam 生效

在 /etc/pam.d/login 中,存在:
session required pam_limits.so

2. 确保 ssh 使用 pam

在 /etc/pam.d/sshd 中,存在:
session required pam_limits.so
在 /etc/ssh/ssd_config 中, 存在:
UsePAM yes

3. limits.conf 建议不要使用星号

官方 manual 以及网上的教程有很多都用了 * 符号,然而不是所有系统都认的,比如我在解决这个问题时候,发现ubuntu系统就不支持。最前面一列代表用户名即root和evan

不兼容方式:

* soft nofile 204800
* hard nofild 204800

兼容方式

root soft nofile 204800
root hard nofile 204800
evan soft nofile 204800
evan hard nofile 204800

如果你做完这所有,都没有解决问题,那么你可以在我的博客留言,或者加入技术交流群:805069260,在群内私聊我,我来帮你解决。

  • 11
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值