我想在一个容器(即nspawn
)中运行 elasticsearch 并且它要求最大文件描述符的数量高于默认值 1024。
这是在容器中,在systemd
适合 elasticsearch 的服务文件中完成的。但是,服务启动时的这个请求不会被考虑,限制保持在 1024。
然后我尝试在容器内的命令行上更改此限制,但我认为这是不可能的(这是可以理解的):
root@elk:/etc/elasticsearch# ulimit -n 65536
-bash: ulimit: open files: cannot modify limit: Operation not permitted
我认为应该在主机级别设置或允许设置此限制。我应该在哪里设置它?
答案1
A错误报告给出systemd
了解决方案。需要创建或更新并添加 以下部分:/etc/systemd/system/[email protected]/ulimit.conf
LimitNOFILE=infinity
[Service]
mkdir -p /etc/systemd/system/[email protected]/
cat <<'EOF' >/etc/systemd/system/[email protected]/ulimit.conf
[Service]
LimitNOFILE=infinity
EOF
systemctl daemon-reload
systemctl stop systemd-nspawn@CONTAINER
systemctl start systemd-nspawn@CONTAINER