내 구체적인 시나리오는 다음과 같습니다. 특정 cpuset으로 도커 컨테이너를 시작합니다.
docker run --cpuset-cpus="0-2" # ...
해당 컨테이너 내에서 시작점으로 쉘 스크립트를 실행하고 해당 쉘 스크립트는 make
어느 시점에서 실행 됩니다. 나는 많은 일자리 ( -j
)가 무엇인지 알아 내고 싶습니다 . 물론 환경을 통해 할당 된 CPU 수를 전달할 수는 있지만 자동으로 감지하는 것이 훨씬 좋습니다.
내가 사용할 수 있습니다 알고 taskset -c -p $$
또는 cat /proc/self/status | grep Cpus_allowed_list
를 검색하기 위해 Cpus_allowed
현재 프로세스에 대한,하지만 난 허용 CPU의 실제 번호를 검색하는 방법을 모르겠어요. 해당 명령의 출력을 구문 분석하거나 Cpus_allowed
마스크 로 조정하지 않으려 고 하지만 옵션이 없을 때 수행합니다.
@Brian 너무 쉬웠다.
—
pmr
nproc
-이용 가능한 처리 장치 수를 인쇄하십시오