有没有办法在systemd服务单元文件中动态分配环境变量?
我们有一台具有4个GPU的机器,并且我们希望每个GPU加速某个服务的多个实例。例如:
- gpu_service @ 1:1.service
- gpu_service @ 2:1.service
- gpu_service @ 3:1.service
- gpu_service @ 4:1.service
- gpu_service @ 1:2.service
- gpu_service @ 2:2.service
- gpu_service @ 3:2.service
- gpu_service @ 4:2.service
- 广告恶心
因此,1:1、2:1等实际上是服务单元文件中的%i。
为了使服务绑定到特定的GPU,服务可执行文件检查某个环境变量,例如:
USE_GPU=4
有没有一种方法可以将%i放入服务单元文件中,并通过某些(外壳)函数运行它以得出GPU编号,然后可以相应地设置USE_GPU环境变量?
最重要的是,我不想/etc/systemd/system/gpu_service@x:y.service/local.conf
只写多个文件的麻烦,这样我就可以启动更多实例。