精华内容
下载资源
问答
  • 修改limits不生效
    千次阅读
    2021-07-09 15:21:29

    正常情况下, /etc/security/limits.conf 的改动,重新登录就可以生效, 我遇到的问题最后的解决方案是重启虚拟机解决了,也参考了很多网上的文章,整理记录一下。

    一、修改方法

    1.临时方法

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

    2.永久生效方法

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

    • 查看命令:(-n是可以打开最大文件描述符的数量。 -u是用户最大可用的进程数。)
    ulimit -n
    ulimit -u
    
    • 修改配置命令:
    vim /etc/security/limits.conf
    
    • 修改文件内容如下:
    * 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/sshd_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
    

    参考:

    • https://evanwang.blog.csdn.net/article/details/103706237?utm_term=/etc/security/limits%E4%BF%AE%E6%94%B9%E4%B8%8D%E7%94%9F%E6%95%88&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-103706237&spm=3001.4430
    • https://blog.csdn.net/xinqiku/article/details/103312021
    • https://support.huaweicloud.com/intl/zh-cn/trouble-ecs/ecs_trouble_0354.html
    更多相关内容
  • linux修改limits.conf不生效

    千次阅读 2019-12-25 22:10:01
    (1)、修改/etc/security/limits.conf文件 在文件末尾添加如下内容,然后重启服务器或重新登录即可生效。重启后用查看命令进行查看,如果显示数字等于204800即证明修改成功。如果成功请继续往下看。 修改配置命令:...

    正常情况下, /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,在群内私聊我,我来帮你解决。

    展开全文
  • ssh elasticsearch limits 不生效

    千次阅读 2021-11-11 15:42:19
    前提:linuxx86_64服务器 es使用rpm包进行安装(自己本地打包的...当在生产环境进行es启动时,由于es会自动进行bootstrap check,所以当用户使用ssh连接服务器时,即使修改etc/security/limits.conf文件中的* soft no..

    前提:linux x86_64服务器  es使用rpm包进行安装(自己本地打包的es的免安装包,生成服务)

    报错:s启动错误max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    当在生产环境进行es启动时,由于es会自动进行bootstrap check,所以当用户使用ssh连接服务器时,即使修改etc/security/limits.conf文件中的* soft nofile 65536 * hard nofile 65536后也会存在不生效的问题。

    此时,网上的答案就无法生效了

    通过查找问题答案,猜测的原因(还望大神赐教具体原理):

    使用sshd进行远程服务器时,由于每次的连接都是继承自父进程,所以每次的连接都会默认继承父的限制,也就是nofile 1024~4096

    通过命令查看:systemctl show sshd |grep '^Limit'

    可以看出LimitNOFILE=4096

    参考文档:Linux Limit相关内容设置大全(值得收藏) - 自由早晚乱余生 - 博客园

    此时,针对单服务进行,例如mysql的服务:

     es的服务可参考此。

    展开全文
  • 项目中,遇到了一个几百次重复操作后,进程挂起的问题。 调查原因是由于Open文件太多,导致无法继续Open。 提示“too many open files”。 ...百度后,得到如下指令: ...xxxxxx@xxxxxxxxxxxxxx:~$ ulimit -a ...

    项目中,遇到了一个几百次重复操作后,进程挂起的问题,很急就去最后看。

    调查原因是由于Open文件太多,导致无法继续Open。

    提示“too many open files”。

    百度后,得到如下指令:

    xxxxxx@xxxxxxxxxxxxxx:~$ ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 63061
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 1024
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 63061
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited

    通过上面结果可以看到,open files为1024。

    使用下面指令,可以修改open files的数量:

    xxxxxx@xxxxxxxxxxxxxx:~$ ulimit -n 4096
    xxxxxx@xxxxxxxxxxxxxx:~$ ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 63061
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 4096
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 63061
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited

    open files确实被修改为4096了,继续测试,依然再现。

    又查到了如下修改方法(反正不好使,引用一下):

    Linux系统中limits.conf解释及应用_ZOMBIE86_51CTO博客

    最后,我发现每个进程都有自己的limits文件,查看方式如下:

    cat /proc/<pid>/limits

    xxxxxx@xxxxxxxxxxxxxx:/proc/1311$ cat limits
    Limit                     Soft Limit           Hard Limit           Units
    Max cpu time              unlimited            unlimited            seconds
    Max file size             unlimited            unlimited            bytes
    Max data size             unlimited            unlimited            bytes
    Max stack size            8388608              unlimited            bytes
    Max core file size        0                    unlimited            bytes
    Max resident set          unlimited            unlimited            bytes
    Max processes             63061                63061                processes
    Max open files            1024                 1048576              files
    Max locked memory         65536                65536                bytes
    Max address space         unlimited            unlimited            bytes
    Max file locks            unlimited            unlimited            locks
    Max pending signals       63061                63061                signals
    Max msgqueue size         819200               819200               bytes
    Max nice priority         0                    0
    Max realtime priority     0                    0
    Max realtime timeout      unlimited            unlimited            us

    这个文件中,是进行的limits数量,使用上述两个方法都无法修改,依旧是1024。

    放大招……

    其实在systemd启动进程时,可以设置这个进程的limits值,所以如下想针对进行修改,需要在进程的service文件中追加下面这行:

    LimitNOFILE=4096

    一切就都改好了,重启机器看看效果吧。 

    展开全文
  • Elasticsearch、Hadoop和 MongoDB等都需要修改 Linux里面最大打开文件数这个配置,即下面的 open files [root@localhost opt]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited ...
  • 我们使用CentOS系统,在部署新的服务经常会遇到 打开最大文件数限制 too many open files的警告,通常我们只需要修改/etc/security/limits.conf该文件,增加两行,重新登录下用户即可解决,如下: vim /etc/...
  • 在部署数据库时,经常会遇到打开最大文件数限制 too many open files 的警告,通常我们只需要修改/etc/security/limits.conf该文件,增加两行,重新登录即可解决。 1、limits.conf 文件 vim /etc/security/limits....
  • linux修改/etc/security/limits.conf不生效

    千次阅读 2021-08-03 11:49:47
    操作:vim /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 * soft nproc 4096 * hard nproc 4096 2:修改/etc/pam.d/login文件 echo “session required /lib64/security/pam_limi...
  • limits.conf生效问题

    2021-06-05 13:24:11
    转自:http://q.pnq.cc/blog/2015/08/09/why-the-limits-config-not-hornored/ 正常情况下,/etc/security/limits.conf在网上找了一段时间,...这个方法好像占了大多数,好像也很有道理,但是经测试,依然不生效。...
  • linux下limits.conf 修改不生效的原因

    千次阅读 2020-03-07 22:26:53
    总结下来发现要使limits.conf生效,需要设置 UsePAM yes UseLogin yes #这个保证其他的用户也能修改设置 /etc/pam.d/login /etc/pam.d/system-auth /etc/pam.d/sshd 需要有以下一条 session required pam_limits...
  • 文章目录Centos7.5 修改limits.conf open files后不生效错误排错历程 Centos7.5 修改limits.conf open files后不生效 错误 elasticsearch启动时,报错max file descriptors [65535] for elasticsearch process is ...
  • limits.conf不生效问题

    2021-06-05 13:22:26
    /etc/pam.d目录下需要增加或修改两个文件:1) 在sshd2文件中增加如下一行:auth required pam_pwcheck.so shadow2) 在system-auth文件中增加如下一行...在网上找了一段时间,解决方法说了很多种,我归纳一下:1、...
  • Linux limits.conf 设置后不生效的问题

    千次阅读 2021-05-26 05:02:41
    Red Hat Enterprise Linux Server release 6.6 (Santiago) 设置/etc/security/limits.conf结果不生效,普通用户登陆后需要再次su - 用户名 才生效。网上找到相同的问题:使用ssh 登录主机后,用户能获取到ulimit ...
  • ubuntu14.04修改limits.conf后链接限制仍然不生效 平时用centos比较多,由于aws的lightsail没有centos版本,只能选择ubuntu16.04的版本,拿到一台服务器后,首先得修改连接限制,修改/etc/security/limits.conf后...
  • 在vmware虚拟机中安装启动 elasticsearch 报错: max file descriptors [4096] for elasticsearch process is too low, increase...结果未生效,后参照limits.conf文件内容上下文,修改了空格大小,保存退出,重新登录
  • 遇到报错 RuntimeError: unable to open shared memory object in read-...修改 /etc/security/limits.conf * soft nofile 655350 * hard nofile 655350 * soft nproc 655350 * hard nproc 655350 需要注意几点: .
  • 如果你想增加 ulimit -n 显示的极限值,你可以: 修改 /etc/systemd/user.conf 及 /etc/systemd/system.conf 中如...修改 /etc/security/limits.conf 中如下面这几行(这将处理非图形登录): * soft nofile 655360 ...
  • 线上几台APACHE服务器报过三、四次open files的问题,导致服务可用,执行ulimit -n 查看后,发现是默认的1024,找到原因所在了,就去修改下/etc/security/limits.conf吧:* soft nofile 65535 * hard nofile 65535...
  • linux修改/etc/security/limits.conf不生效步骤结语 步骤 1:soft,hard设为同一值 2:修改/etc/pam.d/login文件 echo “session required /lib64/security/pam_limits.so” >>/etc/pam.d/login echo ...
  • 设置硬资源限制,一旦设置能增加。 ulimit – Hs 64;限制硬资源,线程栈大小为 64K。 -S 设置软资源限制,设置后可以增加,小于等于硬资源设置。 ulimit – Sn 32;限制软资源,32 个文件描述符。 -a 显示...
  • 修改/etc/security/limits.conf 时却一直生效 总结下来发现要使limits.conf生效,需要设置 UsePAM yes UseLogin yes #这个保证其他的用户也能修改设置 /etc/pam.d/login /etc/pam.d/system-auth /etc/pam.d/...
  • 前阵子,我要用到使LInux的文件打开数为65534个,而且需要永久生效,于是将配置写到了: ...重新登录后limit.conf的配置都不生效,后来发现,ubuntu有个bug,root用户必须注明用户 root soft nofile 65534
  • Ubuntu /etc/security/limits.conf 不生效问题 ...修改/etc/security/limits.conf ,重启之后不生效 内容如下: * soft nofile 2048576 * hard nofile 2048576 root soft nofile 2048576 root har...
  • 我们使用CentOS系统,在部署新的服务经常会遇到 打开最大文件数限制 too ...当/etc/security/limits.conf修改后,任凭如何调整设置,甚至重启主机都没有生效,就要从以下几个点进行排查了: 检查/etc/ssh/sshd_c...
  • #一般只需要在此文件后面添加4行就行,配置后即可生效(exit再次登录即可生效),此次配置后没生效,reboot还是没生效,在root下ulimit -a 2个参数都没生效,但是在普通用户下显示生效,但实际应该是不生效的;...
  • $: sudo gedit /etc/security/limits.conf 第二步:在打开的文件中增加以下几行配置并保存关闭 * soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535 第三步:重启,并重新登录,打开...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,934
精华内容 10,373
热门标签
关键字:

修改limits不生效