调整Linux实例中limits系统参数的方法

调整Linux实例中limits系统参数的方法

更新时间:2020-09-10 11:05:18

概述

Linux系统的/etc/security/limits.conf配置文件可以对系统资源进行限制,该配置文件用于限制用户可以使用的文件数、线程和内存等资源使用量,从而提高系统稳定性。该配置文件中的nofile参数为系统中所有用户打开文件数的最大值,/proc/sys/fs/nr_open为系统中单进程可分配的最大文件数,若系统中nofile参数值超过了nr_oepn参数值,则可能导致实例无法被远程连接。本文主要介绍调整limits.conf配置文件中nofile参数值的方法。

详细信息

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
  1. 卸载异常ECS实例的系统盘,并将该磁盘作为数据盘挂载到正常ECS实例中,具体操作请参见如何通过挂载到ECS实例作为数据盘的方式登录异常系统盘的步骤一到步骤四章节。
  2. 登录正常ECS实例,执行以下命令,编辑/etc/security/limits.conf配置文件。
    vim /etc/security/limits.conf
  3. 在配置文件中,定位到root用户的root soft nofileroot hard nofile参数,并将参数设置成以下内容。设置完成后,按Shift+:键,然后输入wq,最后按Enter键保存并退出。
    root soft nofile 65535
    root hard nofile 65535
    提示
    • soft nofile:用户打开文件数的警告值,建议您修改为默认值65535,如果您了解此系统参数的作用,您也可以根据您的需要修改为预期值。关于该参数注意事项,请参见更多信息
    • hard nofile:用户打开文件数的真实阈值,若用户打开文件数超过该参数值则会报错,建议您修改为默认值65535,如果您了解此系统参数的作用,您也可以根据您的需要修改为预期值。关于该参数注意事项,请参见更多信息
    • 此方法设置参数后可永久生效,若需临时设置nofile参数,可使用ulimit -n [$Nofile]命令设置nofile参数。
  4. 参见如何通过挂载到ECS实例作为数据盘的方式登录异常系统盘的步骤五章节,恢复异常ECS实例的系统盘。
  5. 远程登录已修复的ECS实例,确认ECS实例恢复正常。

更多信息

  • soft nofile注意事项
    soft nofile参数值不可大于hard nofile参数值。
  • hard nofile注意事项
    hard nofile参数值不可大于/proc/sys/fs/nr_open参数值,若nofile参数值大于nr_open参数值,则可能导致用户无法正常登录该实例。
  • 除了资源限制配置参数,Linux系统的内核参数也在一定程度上决定了服务器的性能,关于内核参数的更多介绍,请参见Linux实例常用内核网络参数介绍与常见问题处理

适用于

  • 云服务器ECS