Article / 文章中心

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

发布时间:2021-03-23 点击数:428
点击查看原图

概述

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 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参数。
  4. 恢复异常ECS实例的系统盘。
  5. 远程登录已修复的ECS实例,确认ECS实例恢复正常。

更多信息

  • soft nofile注意事项
    soft nofile参数值不可大于hard nofile参数值。
  • hard nofile注意事项
    hard nofile参数值不可大于/proc/sys/fs/nr_open参数值,若nofile参数值大于nr_open参数值,则可能导致用户无法正常登录该实例。
  • 除了资源限制配置参数,Linux系统的内核参数也在一定程度上决定了服务器的性能。
    如果您有其他问题,可以联系北京志远天成阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询欢迎咨询.gif