시스템화 된 서비스 단위 파일에서 환경 변수를 동적으로 지정하는 방법이 있습니까?
GPU가 4 개인 머신이 있으며 GPU 당 특정 서비스의 여러 인스턴스를 스핀 업하려고합니다. 예 :
- gpu_service @ 1 : 1.service
- gpu_service @ 2 : 1. 서비스
- gpu_service @ 3 : 1. 서비스
- gpu_service @ 4 : 1. 서비스
- 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
더 많은 인스턴스를 스핀 할 수 있도록 여러 파일 을 작성하는 번거 로움을 원하지 않습니다 .