默认情况下,CoreOS和Linux内核对于打开的文件和锁定的内存等内容都有一些相对保守的限制。
因此,我在/etc/systemd/system.conf中增加了一些值:
DefaultLimitNOFILE=500000
DefaultLimitMEMLOCK=unlimited
然而,当我启动我的Docker容器时,限制仍然很低。 ulimit -l 打印出 64。
运行 ulimit -l unlimited 会打印一个错误。
ulimit: max locked memory: cannot modify limit: Operation not permitted
因此,我放置了
LimitMAXLOCKED=unlimited
LimitNOFILE=64000
在我的systemd单元文件中。
然而,这些值并没有传递到docker容器中,调用它们仍然不起作用。我在更改系统范围的默认值后重启了机器。
这可能更多是一个systemd的问题。我该如何解决这个问题?