읽는 동안데니스의 답변, CPU 온도를 결정하는 것이 무엇인지 생각하게 만듭니다. 다음은 나의 이해입니다.
CPU 온도는 단위 시간당 CPU 사용량에 의해서만 결정됩니다.
단위 시간당 CPU 사용량은 CPU 사용량 비율과 CPU 빈도를 곱한 것과 같습니다.
따라서 CPU 사용률이나 CPU 주파수가 감소하면 단위 시간당 CPU 사용량이 감소하고 CPU 온도도 감소합니다.
다음은 의 일부를 인용한 것입니다.데니스의 답변, 위의 이해에 동의하지 않습니다.
사용량이 높을수록 온도가 높아집니다. 사용량이 적다는 것은 온도가 낮다는 것을 의미합니다.
cpufreq를 사용하여 CPU 주파수를 언더클러킹하면 온도를 낮추지 않고 CPU 사용량 비율에만 영향을 줍니다.
백분율은 전혀 의미가 없는 값입니다. 정확히 동일한 워크로드에서 CPU를 언더클러킹하거나 오버클럭할 때 백분율이 올라가거나 내려갈 수 있습니다. 그러나 작업량은 여전히 동일하므로 사용으로 인해 발생할 수 있는 잠재적 피해(그리고 있는지 확실하지 않음)는 정확히 동일합니다.
마찬가지로, cpulimit는 CPU 사용량을 제한하여 백분율과 온도를 낮게 유지합니다.
Dennis와 저 중 어느 것이 맞는지 말씀해 주시겠어요? 왜?
감사해요!
답변1
CPU 온도는 단위 시간당 CPU 사용량에 의해서만 결정됩니다. [...] 그래서 CPU 사용량 비율이나 CPU 주파수가 감소하면 단위 시간당 CPU 사용량이 감소하고 CPU 온도도 감소합니다.
전력 소모(즉, 생성된 열)가 그렇지 않습니다.혼자서CPU 사용률에 따라 결정되지만 이는 CPU가 수행하는 명령에 따라 달라집니다. 프로세서와 같은 디지털 동기식 CMOS 회로에서 전력 소비는다음과 같이 계산할 수 있습니다.:
P = C x V^2 x f
C
디지털 회로의 커패시턴스(실행되는 명령에 따라 변경됨)는 어디에 있고, V
CPU의 전압, 그리고 f
클럭 주파수는 어디입니까? 일부 지침 그리기남들보다 더 많은 힘, 그래서 여기서는 문제가 해결되었다고 가정합니다(예: 동일한 프로그램을 실행하는 경우).일부공회전 이외의 상당한 작업). 이에 따른 부작용으로 CPU 온도가~ 할 것이다NOP
동일한 클럭 주파수에서도 유휴 상태(단 s)에서는 감소합니다 .
그러나 CPU가 소비하는 전력은 여전히 주파수 및 전압과 직접적인 관련이 있습니다. 주파수를 절반으로 줄이면 전력 소비가 50%로 감소하고, 전압을 절반으로 줄이면 소비 전력이 원래 값의 25%로 감소합니다. 이것은거대한동일한 양의 작업을 수행하더라도 열 발생에 영향을 미칩니다(전력은 단위 시간당 작업임을 기억하세요. 아래 참조).
사용량이 높을수록 온도가 높아집니다. 사용량이 적다는 것은 온도가 낮다는 것을 의미합니다.
그래 이건 사실이야. 컴퓨터가 유휴 상태일 때는 "아무 작업도 수행하지 않는" 경우가 많습니다(예: NOP
명령, 저전력 상태 또는 단순히 전력 소모가 많은 명령을 수행하지 않음). 그래픽 렌더링과 같은 작업을 수행할 때 훨씬 더 많은 리소스를 사용합니다.CPU의 구성 요소(ALU, FPU, MIU와 같은) 더 많은 열을 발생시킵니다.
cpufreq를 사용하여 CPU 주파수를 언더클러킹하면 온도를 낮추지 않고 CPU 사용량 비율에만 영향을 줍니다.
아니요, 이건 거짓입니다. 위의 방정식을 참조하세요. 언더클러킹을 사용하면 프로그램 실행 시간이 길어지지만 회로에서 전력을 소비합니다.~ 할 것이다감소하다. CMOS 전력 소비는 단위 시간당 로직 스위치 수와 직접적인 관련이 있습니다.
이는 다음의 정의를 고려하면 매우 직관적입니다.힘, 이는 단순히단위 시간당 일또는 작업/계산을 수행하는 속도입니다. 주어진 빈도로 동일한 프로그램을 완료할 때까지 실행 f
한 다음 빈도로 실행하는 것을 비교하면 f/2
후자의 경우입니다.두 배로 길다프로그램을 실행하기 위해 우리는 다음을 수행했습니다.같은 양일하다- 따라서 이 시간 동안 CPU가 소비하는 전력은 다음과 같습니다.반.
따라서 CPU는 동일한 양의 작업을 수행하는 데 더 오랜 시간이 걸리더라도 더 낮은 온도에서 작동하게 됩니다. 이제 CPU에서 열을 발산하는 데 더 많은 시간이 있기 때문입니다. 언더클러킹을 사용하면 CPU를 더 낮은 전압(언더볼팅)에서 작동할 수 있어 작업에 영향을 주지 않고 전력 소비를 더욱 줄일 수 있습니다.
답변2
프로세서에 따라 다르지만 CPU 최대값을 제한하면 발생하는 열의 양을 확실히 줄일 수 있습니다. 먼저 열은 주파수가 아닌 Vcore 전압에 의해 결정된다는 점을 명심하십시오. 따라서 프로세서를 더 낮은 P 상태로 제한할 수 있으면 vcore 전압도 제한됩니다. 이는 최신 Intel 프로세서에만 해당되므로(AMD도 비슷한 것으로 가정함) 여기서 혼란이 발생한다고 생각합니다. 나는 내 이론을 증명하기 위해 몇 가지 테스트를 했습니다.
- 먼저 I7 3930k @ 4.2Ghz에서 linpack을 실행하고 vcore와 온도에 대한 스크린샷을 찍었습니다.
linpack을 한 번 통과한 후 볼 수 있듯이 내 CPU 패키지는 55C입니다.
이제 75%로 제한하고 linpack을 한 번 더 실행했습니다.
4.2Ghz와 2.4Ghz, 1.280 및 .984의 vcore 차이를 확인하세요. Vcore 측면에서 이는 엄청난 차이입니다. 생성된 열이 이를 어떻게 반영하는지 주목하세요: 55C 대 40C.
따라서 발생하는 열을 낮추는 주파수를 제한하는 데는 어느 정도 진실이 있습니다. 1.28Vcore의 3.8GHZ CPU와 1.28Vcore의 4.2Ghz CPU는 동일한 양의 열을 생성하므로 이는 저전압 및 다운클럭을 수행하는 CPU에만 해당됩니다.
답변3
dennis가 말한 것은 cpufreq를 사용하여 CPU 주파수를 언더클러킹하면 백분율에만 영향을 미친다는 것입니다. 이는 작업 부하가 동일하지만 백분율이 낮게 표시된다는 의미입니다(실제로는 높습니다). 작업 부하가 높을수록 CPU 온도도 높아집니다.