使用环境变量的系统化服务配置

时间:2017-04-04 13:30:52

标签: linux systemd

如何使用环境变量设置MemoryLimit 我已经尝试使用像这样的变量MY_LIMIT设置MemoryLimit字段, 服务配置:

[Unit]
Description=Blabla

[Service]
Environment="MY_LIMIT=1024"
MemoryLimit=$MY_LIMIT
ExecStart=script.sh

但这似乎不起作用 正如我们所见

sudo systemctl show myservice

显示MemoryLimit是使用此值分配的

MemoryLimit=18446744073709551615

1 个答案:

答案 0 :(得分:2)

  

systemd有一个Environment指令,用于为已执行的进程设置环境变量。 [源] [1]

因此,在MY_LIMIT中设置时,MemoryLimit不会被解释。

不推荐使用MemoryLimit,而是使用MemoryMax=。 [源] [2]

所以你应该设置的是:MemoryMax=1024M