最近已经把自己的游戏框架主要功能完成得差不多了,决定将自己的开发环境从debian7升级到debian9,不然太多第三方依赖都跟不上了。debian10刚出来,MongoDB还没适配,所以暂不考虑。

  我的主系统是ubuntu14.04,通过VirtualBox安装debian9作为开发系统。本地的目录通过VirtualBox的目录共享功能挂载上去,然后用root用户进行编译、运行。

  部署开发环境,少不了要修改/etc/security/limits.conf,让系统可以coredump,方便debug。顺便改下最大文件数。这本来也很简单,就加两行配置。

*               soft    core            unlimited
* soft nofile 65535

  然而重启后用ulimit -a查看发现它死活不生效。我虽然不记得当初部署debian7时改了哪些配置,但debian7的配置文件就是这么改的。猜测是debian9做了改动导致没生效,只能网上找资料一步步测试。

 1. pam模块是否启用

/etc/pam.d/login
/etc/pam.d/sshd
/etc/pam.d/su

查看以上几个文件,都包含 session required pam_limits.so 所以是启用了的。

2. ssh是否启用pam

我是通过ssh连上去的开发的,这个也需要排查下

cat /etc/ssh/sshd_config | grep UsePAM
UsePAM yes

ssh也是启用的。然后在VirtualBox的界面登录也发现配置没生效,这个原因排除掉。

3. hard limit没设置

man limits.conf里有说到

for enforcing hard resource limits. These limits are set by the superuser and enforced by the Kernel. The user cannot raise his requirement of system resources above such values.

虽然之前从来没设置过hard limit,但也总得试下。于是我又加了一行

*               hard    nofile            65535

重启后也没有生效。

4. 查看日志,看是否有错误

cat /var/log/auth.log

Jul 21 12:25:01 debian CRON[686]: pam_unix(cron:session): session opened for user root by (uid=0)
Jul 21 12:25:01 debian CRON[686]: pam_unix(cron:session): session closed for user root
Jul 21 12:25:29 debian login[692]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)也不

也没有发现什么异常,说明配置格式、权限都没什么问题。

到这里,网上常用的方法该试的都试了,都没能让。最后在https://serverfault.com/questions/610130/how-to-set-ulimit-value-permanently上有一个回复

Boom. * wildcard doesn't work for root. I added root instead of *, and it's working. Thank you! – NiCk Newman Jun 13 '16 at 15:25

*这个通配符对root用户没有效的。我测试了下,确实如此,另一个号用ulimit -a查看配置修改成功。由于我部署环境一直用root,没发现这个。最后把用户名都改为root,重启后配置生效。

root               soft    core            unlimited
root soft nofile 65535
* soft core unlimited
* soft nofile 65535

网上查了下资料,发现确实有这个限制。

man 5 limits.conf

NOTE: group and wildcard limits are not applied to the root user. To set a limit for the root user, this field must contain the literal username root.

debian设置limits.conf的更多相关文章

  1. /etc/security/limits.conf 设置

    jrhdpt01:/root# cat /etc/security/limits.conf  * soft nofile 65535  * hard nofile 65535  * soft npro ...

  2. linux /proc/sys/fs/file-nr /proc/sys/fs/file-max /etc/security/limits.conf 三者的关联

    ulimit -n 对应 /etc/security/limits.conf 文件设置 问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题. 在 ...

  3. linux资源使用配置文件 /etc/security/limits.conf和ulimit

    limits.conf文件实际上是linux PAM中pam_limits.so的配置文件,而且只针对于单个会话. limits.conf的格式如下: <domain> <type& ...

  4. CentOS6.x 下 /etc/security/limits.conf 被改错的故障经历

    Intro 我司本小厂,每个员工都是身兼数职,所以开发人员直接登录线上服务器改东西是常态.有些开发人员,自持水平较高(的确水平也是较高,但缺乏对系统的敬畏),所以总是越俎代庖,改一些本身应该是线上运维 ...

  5. 长连接锁服务优化实践 C10K问题 nodejs的内部构造 limits.conf文件修改 sysctl.conf文件修改

    小结: 1. 当文件句柄数目超过 10 之后,epoll 性能将优于 select 和 poll:当文件句柄数目达到 10K 的时候,epoll 已经超过 select 和 poll 两个数量级. 2 ...

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

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

  7. /etc/security/limits.conf的相关说明

    今天遇到root账户登录不了的情况,很是郁闷,即使单用户修改了root密码也不能登录. 所以就特意看了一下/etc/security/limits.conf,发现是下面这样的.感觉呗坑了许久.(标红线 ...

  8. [转帖]ulimit、limits.conf、sysctl和proc文件系统

    ulimit.limits.conf.sysctl和proc文件系统 来源:https://blog.csdn.net/weixin_33918114/article/details/86882372 ...

  9. limits.conf文件工作原理

    1. limits.conf 描述 limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so ...

随机推荐

  1. idea控制台中文乱码“淇℃伅”

    方法一:找到tomcat的conf目录下的logging.properties,将输出到控制台的编码改为GBK java.util.logging.ConsoleHandler.encoding = ...

  2. UIApearance的认识

    在参加工作之前一直不知道还有UIApearance的这个属性,并且不知道UIApearance是用来干嘛的,还不知道怎么用,工作之后,看公司代码中都会出现这个UIApearance,我决定学习学习,并 ...

  3. LODOP直接导出图片不弹框

    之前有博文测试了导出图片的图片长度关系,是直接弹窗的选择保存路径的方式:Lodop导出图片,导出单页内容的图片最近测试下不弹窗保存图片是否可以,样例是保存的excel,测试了下图片,图片也是可以的,该 ...

  4. 微信小程序 左右联动菜单

    根据左侧列表,联动跳右侧内容. 效果如图: wxml代码: <view class="page"> <!-- 左侧导航 --> <view class ...

  5. Flutter磨砂玻璃效果制作

    Flutter的Fliter Widget 也是非常强大的,它可以制作出你想要的神奇滤镜效果.下面制作一个毛玻璃效果. 这个和以前的写法都一样,所以就直接贴代码了. import 'package:f ...

  6. 【ARM-Linux开发】Linux下更改目录下所有文件的所有者及其权限

    [ARM-Linux开发]Linux下更改目录下所有文件的所有者及其权限 chown 更换所有者: chmod 改变权限: 想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参 ...

  7. ES 数据类型

    官网数据类型网址 有价值的参考博客 本文 Elasticsearch 版本为 7.2 1. 核心数据类型 (1)字符串类型: text, keyword (2)数字类型:long, integer, ...

  8. 最新 人民网java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.人民网等10家互联网公司的校招Offer,因为某些自身原因最终选择了人民网.6.7月主要是做系统复习.项目复盘.LeetCo ...

  9. Linux上,最常用的一批命令解析(10年精选)

    Linux这么多命令,通常会让初学者望而生畏.下面是我结合日常工作,以及在公司的内部培训中,针对对Linux不是很熟悉的同学,精选的一批必须要搞懂的命令集合.任何一个命令其实都是可以深入的,比如tai ...

  10. Nginx反向代理简单配置

    一.首先在IIS中部署两个站点,localhost:86 .localhost:5000 二.修改C:\windows\system32\drivers\etc\hosts文件,增加 127.0.0. ...