我想在容器中运行nspawn (即nspawn ),它要求最大文件描述符的数量要高于默认的1024。
这是在容器中,在适合于elasticsearch的systemd服务文件中完成的。 然而,在服务启动时这个请求不被考虑,限制保持在1024。
然后我尝试在容器内的命令行上更改此限制,但我相信这是不可能的(这是可以理解的):
root@elk:/etc/elasticsearch# ulimit -n 65536 -bash: ulimit: open files: cannot modify limit: Operation not permitted
我相信这个限制应该是在主机层面上设定或允许设定的。 我应该在哪里设置?
systemd的错误报告给出了解决scheme。 需要创build或更新/etc/systemd/system/[email protected]/ulimit.conf并在[Service]部分添加LimitNOFILE=infinity :
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