Linux 커널에 특정 CPU를 사용하지 말라고 지시

Linux 커널에 특정 CPU를 사용하지 말라고 지시

멀티 코어 시스템에서 일부 벤치마크를 실행하려고 하는데 Linux 커널에 특정 코어를 피하라고 지시하고 싶습니다.~하지 않는 한이를 사용하도록 명시적으로 지시합니다.

내 생각은 벤치마킹을 위해 일부 코어(머신에는 6개의 물리적 코어가 있음)를 따로 설정하고 CPU 마스크를 사용하여 특정 코어에 대한 벤치마킹 프로세스만 허용할 수 있다는 것입니다.

이것이 가능한가?

답변1

매개변수를 사용하여 isolcpus커널 스케줄링에서 특정 CPU 코어를 분리할 수 있습니다. 이 매개변수를 grub.conf에 추가하고 재부팅하면 적용됩니다.

답변2

너 좀 원하니?프로세서 선호도(또는CPU 선호도).

관련 시스템 호출은 다음과 같습니다.sched_setaffinity(2)하지만 다음까지 사용해야 합니다.pthread_set_affinity_np(3)이에 대한 벤치마크를 작성하고 싶다면.

관련 명령은 다음과 같습니다작업 세트(1)벤치마킹하려는 명령(또는 셸)에서 이를 사용할 수 있습니다.

가능하다면 벤치마크와 관련 없는 다른 작업으로 인해 컴퓨터에 과부하가 걸리지 않도록 주의하세요.

아니면 일부를 사용하세요.관리 프로그램좋다을 클릭하고 해당 하이퍼바이저의 게스트 운영 체제로 Linux를 실행합니다. 그런 다음 일부 제한된 CPU 코어 세트만 사용하도록 구성합니다 xen(정확한 세부 정보는 모르므로 알아봐야 합니다). Debian ( 및 관련 ) 배포판 에서는 xen-linux-system-amd64.xen-hypervisor-amd64xen-utilsxen-hypervisor-4.5-amd64xen-linux-system-4.0.0-1-amd64xen-utils-4.5

사용 가능한 코어 수를 제한하기 위해 Linux 커널을 구성하는 방법(커널을 컴파일할 때 또는 Grub 로더를 통해 커널에 특정 매개변수를 전달하는 방법)이 있을 수 있습니다.

물론 특정 프로그램(데스크톱 Linux PC 등)을 벤치마킹할 때는 외부에서 실행 중인 프로세스가 많이 발생하지 않도록 주의하는 것이 가장 좋습니다( 이를 찾으려면 ps auxw, pstree -p, 사용). top최소한 대부분의 대화형 애플리케이션(Firefox, 이메일, 편집기, Eclipse와 같은 IDE)을 닫고 종료하고 벤치마킹을 위해 작은 터미널만 열어 두십시오. batch로그인하지 않고도(GUI 세션 없이) 배치 모드에서 벤치마크(벤치마크 사용 또는 실행)를 수행할 수도 있습니다.at난쟁이또는케이드또는Xfce잠깐...달려라).

관련 정보