코어가 아닌 CPU를 비활성화 할 수 있습니까? 성능이 큰 차이를 만들 수 있는지 여부를 테스트하기를 원합니다.
우분투 10.10을 사용하고 있습니다.
코어가 아닌 CPU를 비활성화 할 수 있습니까? 성능이 큰 차이를 만들 수 있는지 여부를 테스트하기를 원합니다.
우분투 10.10을 사용하고 있습니다.
답변:
BIOS에서이 작업을 수행하는 것 외에도 grub 옵션이 maxcpus있습니다.
maxcpus=1매개 변수 에 추가하여 grub 부팅 옵션을 선택할 때이 옵션을 편집 할 수 있습니다 . 무작위 그럽 사진 :

'e'를 선택하면 옵션을 추가 할 수있는 명령 줄이 나타납니다.
현재 부팅 옵션의 복사본을 만들어 maxcpus=1부팅 매개 변수에 추가 하여 grub에서 영구 부팅 옵션을 만들 수도 있습니다 . 이 이름을 'Ubuntu, kernel 2.5.12-9-386 (1 cpu)'로 지정하고 그림과 같은 다른 부팅 옵션 중에서 선택할 수 있습니다.
다음을 발행하여 1 CPU에서 실행 중인지 확인할 수 있습니다.
cat /proc/cpuinfo | grep processor 이것은 다음과 같이 보여야합니다.
프로세서 : 0 프로세서 : 1
그리고 1 CPU로 부팅 한 후 2 번째 줄이 사라져야합니다.
/sys/devices/system/cpu/cpuN/onlineCPU 1을 비활성화하는 등의 방법 으로 CPU를 동적으로 비활성화 할 수 있습니다 .
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
다시 사용하려면 다음을 사용하십시오.
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
항상 소켓에서 CPU를 분리 할 수 있습니다. 그것은 무차별 적 인 힘이지만 원하는 테스트를받을 수 있으며 커널 / BIOS / 스위치가 실제로 원하는 것을하고 있는지 걱정할 필요가 없습니다.
우리 회사는 전세계 여러 곳에 서버 팜을 대규모로 설치하고 있습니다. 실습에서는 이러한 테스트를 위해 소켓에서 CPU를 제거하는 경우가 있습니다.
이 테스트에는 다중 CPU NUMA 시스템으로 수행 할 수있는 흥미로운 변형이 있습니다. 이러한 유형의 마더 보드에서는 하나의 물리적 CPU로 제어되는 모든 메모리 DIMM을 제거 할 수 있습니다. 시스템은 여전히 정상적으로 부팅되며, "로컬"또는 "원격"메모리의 영향을 측정 할 수있는 다양한 코어에 고정 된 응용 프로그램으로 테스트를 실행할 수 있습니다.
코어 수와 함께 멀티 스레드 응용 프로그램의 성능을보고 싶으십니까? 이 경우 작업 세트 유틸리티를 사용할 수 있습니다. NUMA 머신이 있다고 생각합니다. numactl 유틸리티를 설치할 수 있으며이 유틸리티를 사용하여 어떤 CPU에 해당하는 코어를 찾을 수 있습니다. 예를 들어, 머신에는 2 개의 쿼드 코어 CPU (칩)가 있습니다. 작업 세트 유틸리티를 사용하면 하나의 CPU 코어를 세트로 만들어 응용 프로그램에 할당 할 수 있습니다. 그런 다음 응용 프로그램은 하나의 CPU / 칩 (4 개의 코어) 만 사용합니다. 더 자세한 정보가 필요하면 알려주십시오.