正常情况下, /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
  1. 确保 ssh 使用 pam

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

在 /etc/ssh/sshd_config 中, 存在:

UsePAM yes
  1. limits.conf 建议不要使用星号

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

不兼容方式:

* soft nofile 204800
* hard nofild 204800

兼容方式

root soft nofile 204800
root hard nofile 204800
es soft nofile 204800
es hard nofile 204800

参考:

https://evanwang.blog.csdn.net/article/details/103706237?utm_term=/etc/security/limits修改不生效&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~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不生效的更多相关文章

  1. 【Linux】limits.conf 不重启就生效或者不生效的原因

    前阵子,我要用到使LInux的文件打开数为65534个,而且需要永久生效,于是将配置写到了: vim /etc/security/limits.conf * soft nofile 65534* ha ...

  2. 源码解读Linux的limits.conf文件

    目录 目录 1 1. 前言 1 2. PAM 2 3. pam_limits 2 4. limits.conf的由来 3 5. 模块入口函数 4 6. 解析limits.conf 6 7. 生效lim ...

  3. Centos 修改limits.conf open files后不生效的解决办法

    线上几台APACHE服务器报过三.四次open files的问题,导致服务不可用,执行ulimit -n 查看后,发现是默认的1024,找到原因所在了,就去修改下/etc/security/limit ...

  4. CentOS 6 修改/etc/security/limits.conf不生效办法

    我们使用CentOS系统,在部署新的服务经常会遇到 打开最大文件数限制 too many open files的警告,通常我们只需要修改/etc/security/limits.conf该文件,增加两 ...

  5. /etc/security/limits.conf不生效

    总结下来发现要使limits.conf生效,需要在  /etc/ssh/sshd_config  配置中 设置 UsePAM  yes UseLogin yes    #这个保证其他的用户也能修改设置 ...

  6. 【Linux】Linux修改openfiles后不生效问题?

    #次故障问题环境背景: Centos7.4物理机,升级过ssh和ntp: #一般只需要在此文件后面添加4行就行,配置后即可生效(exit再次登录即可生效),此次配置后没生效,reboot还是没生效,在 ...

  7. Ubuntu /etc/security/limits.conf 不生效问题

    一.问题描述 修改 /etc/security/limits.conf ,重启之后不生效 内容如下: * soft nofile * hard nofile root soft nofile root ...

  8. Linux记录-limits.conf 配置

    limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会 ...

  9. linux 修改内核参数 如何生效?

    Linux 操作系统修改内核参数有3种方式: 修改 /etc/sysctl.conf 文件,加入配置选项,格式为 key = value ,修改保存后调用 sysctl -p 加载新配置使用 sysc ...

  10. 记一次Linux修改MySQL配置不生效的问题

    背景 自己手上有一个项目服务用的是AWS EC2,最近从安全性和性能方面考虑,最近打算把腾讯云的MySQL数据库迁移到AWS RDS上,因为AWS的出口规则和安全组等问题,我需要修改默认的3306端口 ...

随机推荐

  1. THM-Skynet-Writeup

    通过学习相关知识点:攻破Linux目标机器并完成提权操作. 部署并渗透目标机器 step1 使用Nmap扫描端口 nmap -p- -sC -sV -T4 -v 10.10.164.81 139/44 ...

  2. redis基本数据结构-字符串

    reids字符串数据结构相关命令    序号 命令 命令实例 意义    1 set key value set bar 1 设置key为bar的值为"1"   2  incr k ...

  3. 推荐王牌远程桌面软件Getscreen,所有的远程桌面软件中使用最简单的一个

    今天要推荐的远程桌面软件就是这款叫Getscreen的,推荐理由挺简单: 简单易用:只需要两步就能轻松连上远程桌面 第一步:在需要被远程连接的机器上下载它的Agent程序并启动,点击Send获得一个链 ...

  4. [oeasy]python0010 - python虚拟机解释执行py文件的原理

    ​ 解释运行程序 回忆上次内容 我们这次设置了断点 设置断点的目的是更快地调试 调试的目的是去除​​bug​​ 别害怕​​bug​​ 一步步地总能找到​​bug​​ 这就是程序员基本功 调试​​deb ...

  5. Docker 容器开发:虚拟化

    Docker 容器开发:虚拟化 Docker 的核心价值在于虚拟化或者说环境隔离[通过虚拟化技术实现虚拟环境],解决环境配置和部署的依赖问题实现解耦 我对虚拟化的理解源自<Operating S ...

  6. DUILib的代码分析

    1.思路上用的是mfc的Message_MAP,而Control只是一个gdi render. 控件间使用的Message Map. 也就是说每个控件可以作为一个独立的个体

  7. Django模型中的save方法 精讲

    两种方法定义在Django模型中的save方法有不同的参数处理方式. 第一种方法: def save(self, *args, **kwargs): super().save(*args, **kwa ...

  8. emojiCTF2024

    emojiCTF2024 WEB http 题目:​​ 思路: 修改 UA 头为 EMOJI_CTF_User_Agent_v1.0:User-Agent: EMOJI_CTF_User_Agent_ ...

  9. 【Java,IDEA】配置文件快速生成

    比如这里的druid连接配置文件,和mybatis的mapper配置文件就是使用模版创建好的 在创建文件时会有选项选择:

  10. 【Nexus】Linux上的Maven私服搭建

    [1.安装Nexus] 需要Linux安装JDK运行,Nexus2版本JDK7,3版本JDK8 首先需要Nexus服务器文件 nexus-2.12.0-01-bundle.tar.gz 解压 tar ...