Proxmox CPU 클럭 속도 조절 (cpufrequtils)
2018-02-02

간단한 강좌입니다.

Proxmox 깔고 그냥 쓰면 CPU 클럭이 최대치로 고정돼서 돌아가는데, 이걸 load에 따라 변동하게 만들어주는겁니다.

apt update
apt install cpufrequtils

이걸로 cpufrequtils 깔아주시고,

cpufreq-info

해주시면 cpu 정보가 좌르르 뜨는데, 예를 들어 제 것을 보면

analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.60 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 831 MHz.

이렇게 뜹니다. hardware limits 부분에 800~3.6 까지 변동이 가능한데 (G4600) 현재 아이들링 중으로 831MHz로 돌아가고 있고, performance와 powersave 모드가 가능한데 현재 powersave 모드로 설정돼있군요.

저는 세팅을 이미 해서 그런데, Proxmox 만 덜렁 깔아놓으면 performance 모드로 돼있어서 아이들링 시에도 풀 클럭으로 작동합니다.

이걸 고치려면

vi /etc/default/cpufrequtils

로 /etc/default/cpufrequtils 파일을 생성해주시고,

GOVERNOR="powersave"

만 달랑 적어놓고 저장하신 후, 재부팅하시면 됩니다.


governor가 powersave라고 최저클럭으로만 동작하지 않습니다. 예전엔 powersave 하면 최저클럭으로만 동작했는데, 지금 powersave는 예전 on-demand와 비슷한 governor로 바뀌었습니다. 다음은 제 서버에 로드를 걸고 다시 cpufreq-info를 돌려본겁니다. powersave에서도 필요할땐 최고클럭까지 동작하는걸 볼 수 있습니다.

analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.60 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 3.60 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 3.60 GHz.