반응형

안녕하세요.


리눅스에서 CPU의 성능 (Frequency) 과 관련된 정책들을 수정하는 방법을 알아보겠습니다.


먼저 관련 디렉토리로 이동을 해야 하는데,


CPU 코어 별로 디렉토리가 다 따로 있습니다.


코어가 8개라면 총 8개 (0~7번)의 디렉토리가 있습니다.


관련 디렉토리는


/sys/devices/system/cpu/cpu#/cpufreq


입니다.


여기서 #가 CPU의 코어 번호로, 0번부터 시작됩니다.


해당 디렉토리에는 여러 파일들이 있는데,


CPU의 정보를 나타내는 파일과


사용자가 수정하여 CPU의 정책을 바꾸는 파일로 나뉩니다.


각각에 대해 알아보겠습니다.



1. CPU의 정보를 나타내는 파일 (고정값, cat 명령어 사용하여 값 확인)


* cpuinfo_max_freq : 설정 가능한 최대 Frequency


* cpuinfo_min_freq : 설정 가능한 최소 Frequency


* scaling_available_governors : 설정 가능한 정책 이름


* scaling_cur_freq : 현재 CPU Frequency 값


* cpuinfo_cur_freq : 현재 CPU Frequency 값 (Root 권한 필요)



scaling_cur_freq는 cpuinfo_cur_freq의 값을 그대로 읽어 옵니다.


우분투 18.04에서는 cpuinfo_cur_freq는 없고, scaling_cur_freq만 있네요.





위 그림과 같이 'cat' 명령어를 통해 해당 파일의 값들을 확인하실 수 있습니다.



2. CPU 성능 값들을 설정하는 파일 (수정 가능, 'sudo echo' 명령어 사용하여 값 설정)


* scaling_max_freq : CPU의 최대 Frequency값 설정


* scaling_min_freq : CPU의 최소 Frequency값 설정


* scaling_governor : CPU의 동작 정책 결정

  - powersave : min_freq로 동작

  - performance : max_freq로 동작


크게 3개의 설정 파일이 있습니다.


scaling_max_freq와 scaling_min_freq 파일은 CPU의 frequency를 설정하는 부분입니다.


당연히 cpuinfo_min_freq 이상, cpuinfo_max_freq 이하로 설정해야 합니다.


scaling_governor는 CPU 동작 정책을 설정하는 부분으로,


보통 powersave와 performance가 있습니다.


위 값들은 echo 명령어를 root 권한으로 실행하여 설정하게 됩니다.



ex) sudo echo 'performance' > scaling_governor

반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1512)
Profile (2)
Park's Life (600)
Smart Home (IoT) (4)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (250)
생활 정보 (13)
Pokemon GO (50)