개요
CPU frequency governors란 CPU 주파수의 동작 속도를 동적으로 변환할 수 있는 정책에 대한 것이다. 대부분의 CPU는 동적 주파수에서 작동할 수 있는데, 이 CPU 동작 속도를 조절하는 것이 cpufreq governors이다.
종류
- Performace: CPU를 최고 출력으로 가동시킨다. (시스템 연구에서 default가 되는 설정)
- Powersave: CPU를 저전력 모드로 작동시킨다. 즉 주파수 한계를 낮춘다.
- Userspace: User programe (주로 root)이 CPU frequency를 동적으로 조절할 수 있게 한다. 이는 scaling_setspeed라는 cpu-device 폴더에 존재하는 파일에 따라서 정책이 이루어지게 된다.
- Ondemand: 현재 시스템에 가해지는 부하에 따라서 조절되게 한다.
파라미터
- sampling_rate: CPU측정값을 측정하기 위한 us단위
- up_threashold: 어느정도 sampling_rate이상이어야 cpu freq를 증가시킬건지
- sampling_down_factor: 어느정도 이하여야 cpu freq를 감소시킬건지
- etc: https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt
명령어
기본
- 현재 설정: cat /sys/devices/system/cpu/cpu#/cpufreq/scaling_governor
- 사용가능한 설정: cat /sys/devices/system/cpu/cpu#/cpufreq/scaling_available_governors
- 설정 변경: echo /* type of governors (ex. performace) > /sys/devices/system/cpu/cpu#/cpufreq/scaling_governor
cpufrequtils
- cpufreq-set -g performance
- cpufreq-get cpu#
- 모든 코어의 governors 변경: sudo bash -c 'for ((i=0;i<$(nproc);i++)); do cpufreq-set -c $i -g performance; done'
- etc: man cpufrequtils