解决升级Linux内核后,open files设置无效的问题。

问题过程

操作系统是OpenEuler 20.03,内核由4.19.90-2112.8.0.0131.oe1.aarch64升级到kernel-4.19.90-2401.1.0.0233.oe1.aarch64后,重启系统后,重新开起来运行OceanBase就运行不起来了,提示open files must not be less than 20000 (Current value: 1024),明明升级前都是正常的。

分析步骤

查看/etc/security/limits.conf文件,内容是正确设置的
在这里插入图片描述
同时确认了 /etc/security/limits .d/目录下没有其它文件(避免相关文件内有相同配置覆盖掉)。
这时用命令ulimit -a和-n显示的open files值还是1024,百思不得其解。于是进行临时设置,ulimit -sHn 65535,这时ulimit -a的值已变为65535,如下图,但执行obd cluster start后运行,依然提示值低于20000错误,看来只是表象真实还没设置到。
在这里插入图片描述

问题解决

后来通过咨询官方,得到的相关类似案例的答案是ssh远程访问ulimit未生效,和OpenSSH有关。
参考链接:
https://ask.oceanbase.com/t/topic/35601761/3?_gl=1
https://www.jianshu.com/p/1bfe9db10fb8
里面提到,【OpenSSH】关于升级openssh后ulimit不生效问题的解决方法,难道升级内核的时候也升级了OpenSSH了吗?
于是先确认几个事情:
1、 /etc/ssh/sshd_config确认是否有UsePAM yes
2、/etc/pam.d/sshd里是否有session required pam_limits.so

通过第2条,发现系统里竟然没有sshd这个文件,难道OpenSSH丢了?不管了重新安装吧。
通过命令:

sudo yum install openssh-server

重新安装后,/etc/pam.d/sshd文件出现了,这时reboot重启一下系统(可能不需要),再次ulimit -a和-n,值终于是65535,正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值