Acho que encontrei o que estou procurando nesta resposta: link
Basta criar um diretório drop-in com o nome da instância, e você pode substituir as configurações como acontece em um serviço não instanciado.
No exemplo abaixo, instâncias de myservice
têm um limite de memória de 4GiB por padrão, mas myservice@1
e myservice@2
têm suas próprias configurações. Funciona bem com o systemd 231 no Fedora 25.
$ cat /etc/systemd/system/[email protected]
[Unit]
Description=Something
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/etc/myservice/myservice.%i.env
ExecStart=/usr/bin/myservice $OPTIONS_FROM_ENV
MemoryHigh=4G
[Install]
WantedBy=multi-user.target
$ cat /etc/systemd/system/[email protected]/99-memory.conf
[Service]
MemoryHigh=10G
$ cat /etc/systemd/system/[email protected]/99-memory.conf
[Service]
MemoryHigh=20G