Linux系统为了提高系统稳定性,可以通过limits.conf配置文件限制用户能使用的文件数、线程和内存等资源。limits.conf文件中的nofile参数是系统中所有用户打开文件数的最大值,/proc/sys/fs/nr_open
为系统中单进程可分配的最大文件数,若系统中nofile
参数值超过了nr_oepn
参数值,则可能导致实例无法远程连接。
解决方法
- 卸载服务器的系统盘,并将该磁盘作为数据盘挂载到正常ECS上。
- 登录正常ECS,执行以下命令,编辑
/etc/security/limits.conf
配置文件。vim /etc/security/limits.conf
- 在配置文件中,定位到root用户的
root soft nofile
和root hard nofile
参数,并将参数设置成以下内容。设置完成后,按Shift
+:
键,然后输入wq
,最后按Enter
键保存并退出。root soft nofile 65535 root hard nofile 65535
提示:
- soft nofile:用户打开文件数的警告值,建议您修改为默认值65535,如果您了解此系统参数的作用,您也可以根据您的需要修改为预期值。
- hard nofile:用户打开文件数的真实阈值,若用户打开文件数超过该参数值则会报错,建议您修改为默认值65535,如果您了解此系统参数的作用,您也可以根据您的需要修改为预期值。
- 此方法设置参数后可永久生效,若需临时设置
nofile
参数,可使用ulimit -n [$Nofile]
命令设置nofile
参数。
- 将系统盘重新挂载到原服务器。
- 远程登录已修复的服务器,确认服务器恢复正常。
更多信息
- soft nofile注意事项
soft nofile
参数值不可大于hard nofile
参数值。 - hard nofile注意事项
hard nofile
参数值不可大于/proc/sys/fs/nr_open
参数值,若nofile
参数值大于nr_open
参数值,则可能导致用户无法正常登录该实例。
本文来自投稿,不代表云编程开发立场,如若转载,请注明出处:https://www.if98.com/328131696/linux/1909.html