centos修改文件描述符数目

发布时间 2023-11-23 10:02:38作者: 那知归不归

为什么要修改?

  • 原因1:Elasticsearch 在节点和 HTTP 客户端之间进行通信也使用了大量的套接字(注:sockets)。 所有这一切都需要足够的文件描述符。
  • 原因2:许多现代的 Linux 发行版本,每个进程默认允许一个微不足道的 1024 文件描述符。这对一个小的 Elasticsearch 节点来说实在是太低了,更不用说一个处理数以百计索引的节点。
  • 其实,我在用腾讯云轻量级服务器时发现,使用 ulimit -a 查看到 open files (-n) 100001,所以可以跳过此步骤。但是,我自己还是试验了一下。

⑴ 步骤1: 设置环境变量。

  • 使用命令 sudo vim /etc/profile,然后在文件末尾添加 ulimit -n 65535,最后使用 source /etc/profile 使之生效。

⑵ 步骤2: 修改limits.conf配置文件。

  • 使用命令 sudo vim /etc/security/limits.conf,然后在文件末尾添加以下内容,用来限制打开文件数65535:
    * soft nofile 65535
    * hard nofile 65536

soft,hard和-
soft指的是当前系统生效的设置值,软限制也可以理解为警告值。
hard表明系统中所能设定的最大值。soft的限制不能比hard限制高
-表明同时设置了soft和hard的值。

不过,我看了一下,腾讯云这个镜像原本就在文件 /etc/security/limits.conf 末尾加过一下东西了:

 ⑶ 步骤3: 验证是否成功。

使用命令 su elastic 切换到elastic用户,使用 ulimit -a 查看是否修改成功。