elasticsearch @ debian6 由 /etc/init.d max_file_descriptors 启动

elasticsearch @ debian6 由 /etc/init.d max_file_descriptors 启动

我已经安装了 elasticsearch @ debian6本教程。我已经设置了系统最大打开文件数指令,因此我有以下值:

# su
# cat /proc/sys/fs/file-max
70000

# ulimit -Hn
64000

# ulimit -Sn
32000

当我通过以下方式检查 elasticsearch max_file_descriptors 时:

curl -XGET 'http://localhost:9200/_nodes?process=true&pretty=true'

我会得到 1024

当我以 root 用户身份重新启动它时,它现在有“max_file_descriptors”:64000。

init.d 自动启动有什么问题?当我检查 htop 时,init.d 自动启动的 elastic 具有 1024 个描述符,也在 root 用户下运行。

我已经通过 2 个配置设置了最大打开文件数:

cat /etc/sysctl.conf
...
fs.file-max = 70000

cat /etc/security/limits.conf
...
*   soft    nofile  32000
*   hard    nofile  64000

root    soft    nofile  32000
root    hard    nofile  64000

答案1

通常/etc/security/limits.confpam_limits 聚丙烯酰胺模块。但是,由启动的服务init不在 PAM 会话下运行,因此不应用这些设置。我发现设置它的唯一可靠方法是ulimit从 initscript 本身运行。编辑 ElasticSearch initscript 并在顶部附近添加类似以下内容:

ulimit -n 64000

我不确定您是否要设置sys.file-maxBTW;在我的系统上它默认为 779149,因此您可能会将其降低一个数量级。

相关内容