16개 CPU 중 2개만 사용하는 Linux 시스템에서 프로세스를 실행할 수 있습니까?
Red Hat 머신 버전 6이 있고 16개의 CPU가 있습니다.
그러나 라이센스에는 비용이 들기 때문에 스크립트를 2개의 CPU에서만 실행하도록 제한하면 비용을 절약할 수 있습니다.
답변1
특정 코어 세트에서 실행되도록 프로세스를 제한할 수 있습니다.taskset
.
taskset 3 mycommand
( 비트마스크 는 코어 0과 1에서만 실행될 수 있음을 3
의미합니다 .)mycommand
그러나 이것이 프로세스에서 생각하는 CPU 양을 변경하지는 않습니다. 이는 비트마스크에 나열된 것 이외의 CPU에서 프로세스를 예약하지 않도록 커널에 지시하는 것일 뿐입니다. 따라서 프로그램이 CPU 수에 따라 라이센스 확인을 수행하는 경우 이는 도움이 되지 않을 수 있습니다.
확실히 작동하는 한 가지 솔루션은 2개의 (가상) 코어만 있는 가상 머신에서 프로세스를 실행하는 것입니다. 그러나 이렇게 하면 성능이 저하될 수 있습니다.
그룹 C프로세스가 사용할 수 있는 리소스를 제한하는 중간 방법을 제공합니다. 프로세스에서 CPU를 효과적으로 숨기는지, 아니면 taskset
.