centos修改文件描述符数目
为什么要修改?
- 原因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
查看是否修改成功。