주파수 스케일링 거버너가 너무 많은 코어를 스케일링함

주파수 스케일링 거버너가 너무 많은 코어를 스케일링함

동일한 OS, 동일한 코어, 동일한 CPU 주파수를 실행하는 두 대의 컴퓨터가 있습니다.스케일 드라이브, 그리고 동일한 CPU 주파수 스케일링 조정기입니다.

프로세스가 하나의 코어를 고정하면 모든 코어 주파수가 증가합니다.

코어를 고정하는 프로세스가 있는 경우 하나의 물리적 코어만 승격됩니다.

기계 A

CPU: Intel(R) Xeon(R) W-2140B CPU @ 3.20GHz
Scaling driver: intel_pstate
Scaling governor: powersave
OS: Ubuntu 21.10
Kernel: 5.13.0-22-generic

기계 B

CPU: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz
Scaling driver: intel_pstate
Scaling governor: powersave
OS: Ubuntu 21.10
Kernel: 5.13.0-22-generic

다음 예를 관찰하세요.

머신 A에 두 개의 코어를 고정합니다. (이 머신에는 하이퍼스레딩이 있으므로 사용 가능한 가상 코어 16개 중 4개를 확장할 수 있습니다.)

여기에 이미지 설명을 입력하세요.

머신 B에 2개의 코어를 고정합니다. (이 머신에는 HT가 포함된 6개의 코어가 있고 12개의 가상 코어 모두로 확장됩니다.)

여기에 이미지 설명을 입력하세요.

스크린샷은주파수 상단, 내가 직접 작성한 오픈 소스 주파수 모니터입니다. 주황색 체크 표시는 전체 주기(사용자+커널+유휴)에 대한 사용자+커널 주기의 백분율로 정의된 각 코어의 로드를 표시합니다.

코어가 하나만 필요함에도 불구하고 i5-11600K CPU가 모든 코어를 조절하는 이유는 무엇입니까?

고쳐 쓰다:머신 간에 발견된 한 가지 차이점은 pstate의 수입니다.

Xeon은 /sys/devices/system/cpu/intel_pstate33으로 설정되어 있고 corei5는 42로 설정되어 있기 때문입니다. 이것의 요점이 무엇인지 잘 모르겠습니다.

답변1

Intel CPU에는 코어 제한을 처리하는 여러 가지 방법이 있습니다. 이 모든 것을 배우는 것은 매우 기술적입니다. 대부분의 사람들은 자신이 사용하는 CPU에 대해서만 알고 있습니다. 그러나 이러한 다른 결과를 제공하는 것은 펌웨어(BIOS, UEFI) 및/또는 프로세서의 내부 구조에서 허용하는 제어 수준이라고 확신합니다.

Debian Bullseye를 실행하지만 프로세서가 다른 두 대의 컴퓨터에서 동일한 현상이 나타납니다. 때로는 $ powertop진실이 밝혀질 수도 있습니다. 그 목적은 노트북의 전력 소비량을 조정하는 것이지만 데스크톱에 표시되는 정보는 여러 가지 이유로 흥미롭습니다.

커널이 터보 모드에서 실행 중인지, 얼마나 조절되는지 등을 확인하기 위해 powertop을 사용했습니다. AMD에서도 작동합니다.

그 모니터에 대해서는 이미 글을 쓰셨으니 아마 이 주제에 대해서는 저보다 더 많이 아시는 것 같군요.

이 포럼은 자료가 너무 광범위하고 기술적이기 때문에 많은 세부 사항을 논의하는 데 적합하지 않습니다. 이게 도움이 되길 바란다.

답변2

저는 corei5 시스템이 더 적절하게 작동하도록 할 수 있었고 실제로 작업하는 코어의 주파수만 높일 수 있었습니다.

이렇게 하려면 intel_pstate 드라이버 모드를 전환해야 한다는 것을 알았습니다.

당신은 /sys/devices/system/cpu/intel_pstate/status사이를 전환 할 수 있습니다긍정적인그리고수동적인모델.

활성 모드: 이 모드에서 드라이버는 CPUFreq의 스케일링 조절기 레이어를 우회하고 P 상태 선택을 위한 자체 스케일링 알고리즘을 제공합니다.

패시브 모드: ...드라이버는 일반 CPUFreq 스케일링 드라이버처럼 작동합니다. 즉, 범용 스케일링 조정기는 CPU의 P 상태를 변경하기 위해 하드웨어와 통신해야 할 때 이를 호출합니다.

만약 내가이것을 읽어보세요맞습니다. 활성 모드에서는 CPU가 OS 자체로부터 피드백을 덜 받는 것 같습니다. CPU가 모든 코어를 조절해야 한다고 잘못 추측한 것 같습니다.

아직 설명되지 않은 점은 Xeon CPU가 다음에서 매우 뛰어난 성능을 발휘한다는 것입니다.긍정적인이동에는 동일한 intel_pstate 드라이버를 사용하십시오. 하지만 이는 단지 추측일 뿐이며 모든 CPU가 동일한 것은 아닙니다. 또는 pstate를 올바르게 수행할 수 없는 의심스러운 마더보드나 BIOS일 수도 있습니다.

관련 정보