IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  리눅스  >

Linux 전력 소비량 줄이기, Part 2: 일반 및 거버너 관련 설정

설정할 수 있는 항목과 설정을 통해 전력 사용량을 제어하는 방법

developerWorks
문서 옵션
PDF format - Fits A4 and Letter

PDF - Fits A4 and Letter
45KB (12 pages)

Get Adobe® Reader®

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

토론

영어원문

영어원문


제안 및 의견
피드백

난이도 : 중급

Jenifer Hopper, Software Engineer, IBM

원문 게재일 : 2009 년 9 월 23 일
번역 게재일 : 2009 년 11 월 03 일

세 편의 기사로 구성된 이 시리즈에서는 전력 효율 향상을 위해 시스템을 조정하는 방법에 대해 설명합니다. Part 2에서는 Linux® CPUfreq 서브시스템의 일반 설정을 단계별로 살펴본 후 다섯 가지 커널 내 거버너 즉, 성능, 절전, 사용자 공간, 온디맨드 및 보존적 거버너와 해당 설정에 대해 자세히 설명합니다.

전문 지식 공유하기:  회사에서 절전을 위해 어떤 노력을 기울이고 있는지에 대한 의견을 추가해주기 바랍니다.

이 시리즈의 정보

이 시리즈에서는 전력 효율을 높이기 위해 Linux 기반 IBM System x® 서버를 조정하는 방법에 대해 살펴본다. 커널 내 거버너 및 관련 설정과 거버너의 사용 방법에 대해 알아본 후 조정된 거버너가 전력 성능 및 전자 상거래 워크로드에 미치는 효과를 살펴본다. 예제는 RHEL 5.2(Red Hat Enterprise Linux 버전 5.2)가 실행 중인 System x 서버를 기반으로 하지만 모든 2.6.x 커널과 주파수 배율 조정을 지원하는 모든 유형의 프로세서에도 동일한 지침이 적용된다.

Part 1에서는 전력 효율 향상을 위해 시스템을 조정하는 데 필요한 Linux CPUfreq 서브시스템, C 및 P 상태, 다섯 가지 커널 내 거버너 등을 포함한 구성 요소와 개념에 대해 설명한다.

Part 2에서는 Linux CPUfreq 서브시스템의 일반 설정과 다섯 가지 커널 내 거버너 즉, 성능, 절전, 사용자 공간, 온디맨드보존적 거버너와 해당 설정에 대해 자세히 살펴본다.

Part 3에서는 조정된 상태와 조정되지 않은 상태에서 다섯 가지 커널 내 거버너의 성능을 비교하여 시스템에 대한 전력 조정을 통해 얻을 수 있는 결과를 확인한다.

CPUfreq 일반 설정

사용법 설정의 세부사항과 제공된 몇 가지 인터페이스 옵션을 확인하여 간편하게 시작할 수 있는 Linux CPUfreq 서브시스템에 대해 알아보자. 먼저 다음과 같은 일반 설정부터 살펴보자.

  • /sys 인터페이스
  • cpuspeed 설정 파일
  • cpufreq-utils

/sys 인터페이스 사용하기

/sys 파일 시스템에는 /sys/devices/system/cpu/부터 시작하는 CPUfreq용 사용자 인터페이스가 있다. 이러한 파일 중 일부는 쓰기 가능(루트 권한)한 파일이고 나머지는 읽기 전용 파일이다.

먼저 /sys/devices/system/cpu/를 살펴보자. 이 디렉토리에는 각 논리적 CPU와 sched_mc_power_savings 조정 항목에 대한 디렉토리와 시스템에서 사용 가능한 경우 sched_smt_power_savings 조정 항목(나중에 설명함)에 대한 디렉토리가 있다.








Listing 1. /sys/devices/system/cpu/의 컨텐츠 확인하기

[root@systemx ~]# cd /sys/devices/system/cpu/
[root@systemx cpu]# ls
cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 sched_mc_power_savings

각 프로세서의 디렉토리에는 CPUfreq 인터페이스가 포함된 cpufreq 디렉토리가 있다.


Listing 2. cpufreq 디렉토리 확인하기

[root@systemx cpu]# cd cpu0/cpufreq/
[root@systemx cpufreq]# ls -l
total 0
-r--r--r-- 1 root root 4096 Oct 31 14:53 affected_cpus
-r-------- 1 root root 4096 Oct 31 14:53 cpuinfo_cur_freq
-r--r--r-- 1 root root 4096 Oct 31 14:53 cpuinfo_max_freq
-r--r--r-- 1 root root 4096 Oct 31 14:53 cpuinfo_min_freq
-r--r--r-- 1 root root 4096 Oct 31 14:53 scaling_available_frequencies
-r--r--r-- 1 root root 4096 Oct 31 14:53 scaling_available_governors
-r--r--r-- 1 root root 4096 Oct 31 14:53 scaling_cur_freq
-r--r--r-- 1 root root 4096 Oct 31 14:53 scaling_driver
-rw-r--r-- 1 root root 0 Nov 5 11:44 scaling_governor
-rw-r--r-- 1 root root 4096 Oct 31 14:53 scaling_max_freq
-rw-r--r-- 1 root root 4096 Oct 31 14:53 scaling_min_freq
            

My developerWorks의 그린 그룹
My developerWorks의 GReen IT Report spaceGreen computing group에서 에너지, 효율성 및 환경에 대한 주제를 토의하고 리소스를 공유할 수 있다.

거버너가 보존적 또는 온디맨드로 설정된 경우에는 이 디렉토리에 거버너와 같은 이름의 디렉토리도 있다. 나중에 거버너를 변경하는 방법에 대해서도 설명한다.

이들 파일은 모든 거버너에서 사용할 수 있다. 이 기사에서는 각 설정의 의미와 설정을 변경하는 방법에 대해 설명한 후 이 인터페이스 이외의 일부 거버너 관련 설정을 살펴본다. cpufreq 디렉토리 아래의 설정은 프로세서별로 다를 수 있으므로 모든 프로세서에 대해 동일한 정책을 적용하려면 후속 섹션의 설명에 따라 각 프로세서에 대한 설정 값을 변경해야 한다.

먼저 affected_cpus는 주파수 변경의 영향을 받는 프로세서를 보여 준다. 프로세서가 주파수 변경의 영향을 받는 이유는 하드웨어나 소프트웨어 또는 둘 다를 사용할 경우 일부 프로세서가 다른 프로세서의 주파수에 종속적이므로 이 경우 주파수를 동시에 변경해야 하기 때문이다. 예를 들어, 다음과 같은 유형의 설정이 있을 수 있다.


Listing 3. 주파수 변경의 영향을 받는 프로세서 확인하기

[root@systemx ~]# cd /sys/devices/system/cpu
[root@systemx cpu]# grep . cpu*/cpufreq/affected_cpus
cpu0/cpufreq/affected_cpus:0 1
cpu1/cpufreq/affected_cpus:0 1
cpu2/cpufreq/affected_cpus:2 3
cpu3/cpufreq/affected_cpus:2 3

cpuinfo_cur_freq는 프로세서의 현재 작동 주파수를 보여 준다. scaling_cur_freq 파일에는 거버너가 사용 중인 현재 배율 주파수가 나열되어 있다.


Listing 4. 주파수 확인하기

[root@systemx cpufreq]# cat cpuinfo_cur_freq
2997000
[root@systemx cpufreq]# cat scaling_cur_freq
2997000

이 인터페이스에 나열되는 모든 주파수의 단위는 KHz이다.

다음으로 살펴볼 내용은 사용 가능한 프로세서 주파수에 대한 정보를 제공하는 파일이다. cpuinfo_max_freqcpuinfo_min_freq 파일은 시스템의 최대 및 최소 주파수를 보여 주며 scaling_available_frequencies는 사용 가능한 모든 주파수를 보여 준다.


Listing 5. 최대, 최소, 사용 가능 주파수 확인하기

[root@systemx cpufreq]# cat cpuinfo_max_freq
2997000
[root@systemx cpufreq]# cat cpuinfo_min_freq
1998000
[root@systemx cpufreq]# cat scaling_available_frequencies
2997000 2664000 2331000 1998000

scaling_available_governors 파일은 사용 가능한 모든 거버너를 나열한다. 다섯 가지 거버너가 모두 표시되지 않을 경우에는 구성 파일에서 모든 거버너가 활성화되어 있고 거버너의 모듈이 Part 1의 설명에 따라 로드되었는지 확인한다.


Listing 6. 사용 가능한 거버너 확인하기

[root@systemx cpufreq]# cat scaling_available_governors
ondemand powersave conservative userspace performance

scaling_driver 파일은 시스템에서 실행 중인 cpufreq 드라이버에 대한 정보를 제공한다. 일부 일반적인 드라이버로는 acpi, speedstep-smi, speedstep-centrino, powernor_k8, powernow_k7, longhaul 등이 있다. 드라이버를 변경하려면 사용 중인 드라이버를 먼저 로드 해제한 후 다른 드라이버를 로드해야 한다. 또한 드라이버를 사용하기 전에 드라이버가 프로세서와 정상적으로 작동하는지도 확인해야 한다.


Listing 7. 시스템에서 실행 중인 cpufreq 드라이버 확인하기

[root@systemx cpufreq]# cat scaling_driver
centrino

이 디렉토리에 있는 나머지 파일은 루트 권한으로 쓰기 가능하며 일부 cpufreq 설정을 변경하는 데 사용할 수 있다. 이들 파일은 사용자가 절전 및 성능 거버너에 대해 변경할 수 있는 유일한 설정이다. 다른 거버너의 경우에는 사용 가능한 추가 설정이 있으며 이에 대해서는 다음 섹션에서 설명한다.

먼저 scaling_governor 파일은 현재 활성화된 거버너를 보여 준다. 거버너를 변경하려면 새 거버너의 이름을 이 파일에 echo하면 된다. 동일한 정책을 얻으려면 모든 프로세서에 대해 이 작업을 수행해야 한다는 점에 유의해야 한다. 예를 들면, 다음과 같다.


Listing 8. 활성화된 거버너 확인하기 및 거버너 변경하기

[root@systemx ~]# cd /sys/devices/system/cpu/
[root@systemx cpu]# ls
cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7 sched_mc_power_savings
[root@systemx cpu]# cat cpu0/cpufreq/scaling_governor
performance
[root@systemx cpu]# echo conservative > cpu0/cpufreq/scaling_governor
[root@systemx cpu]# cat cpu0/cpufreq/scaling_governor
conservative

scaling_max_freqscaling_min_freq 파일은 거버너에 사용할 수 있는 최대 및 최소 주파수를 보여 준다. 사용자는 사용 가능한 주파수를 이들 파일에 echo하여 거버너에 사용할 수 있는 주파수의 범위를 변경할 수 있다. 주파수는 scaling_available_frequencies에 나열된 주파수 중 하나에 해당해야 하는데 이러한 주파수는 시스템에 사용할 수 있는 모든 프로세서의 주파수이기 때문이다. 다시 한번 말하지만 모든 프로세서에 대해 이 작업을 수행해야 한다. 예를 들면, 다음과 같다.


Listing 9. 거버너에 사용할 수 있는 주파수 변경하기

[root@systemx ~]# cd /sys/devices/system/cpu/
[root@systemx cpu]# cat cpu0/cpufreq/scaling_available_frequencies
2997000 2664000 2331000 1998000
[root@systemx cpu]# cat cpu0/cpufreq/scaling_max_freq
2997000
[root@systemx cpu]# cat cpu0/cpufreq/scaling_min_freq
1998000
[root@systemx cpu]# echo 2331000 > cpu0/cpufreq/scaling_min_freq
[root@systemx cpu]# cat cpu0/cpufreq/scaling_min_freq
2331000

cpuspeed 설정 파일 사용하기

앞에서 언급한 대로 설정의 값을 직접 echo하는 것 외에도 사용자는 cpuspeed 설정 파일을 사용하여 드라이버, 거버너, 최소 및 최대 속도, 사용률 임계값 및 ignore_nice_load 설정을 변경할 수 있다. RHEL 5.2에는 cpuspeed 패키지가 포함되어 있지만 다른 Linux 배포판에는 이 패키지가 없을 수도 있다. cpuspeed가 없는 배포판을 사용하는 경우에는 carlthompson.net 버전을 다운로드할 수 있으며 README에서 설치 지침을 볼 수 있다. RHEL 5.2 버전의 cpuspeed를 사용하려면 /etc/sysconfig/cpuspeed 파일을 편집하여 설정 변수에 값을 지정한 후 다음 명령을 실행하면 된다.

/etc/init.d/cpuspeed restart

이 명령을 실행하면 새 설정이 적용된다. 해당 거버너 모듈이 내장되어 있지 않은 경우에는 해당 거버너 모듈을 로드해야만 거버너를 사용할 수 있다.

cpufreq-utils 사용하기

RHEL 5.2와 일부 다른 배포판에도 cpufreq-utils 패키지가 포함되어 있으며, 이 패키지를 사용하면 다른 사용자가 CPUfreq 서브시스템과 통신할 수 있다. 대부분의 다른 배포판에서도 이 패키지를 포함시켜야 한다. cpufreq-utils rpm을 설치하면 cpufreq-info와 cpufreq-set라는 두 가지 유틸리티가 설치된다.

cpufreq-info 유틸리티는 프로세서 정보와 현재 주파수, 주파수 제한, CPUfreq 드라이버, 현재 정책, 현재 거버너 및 affected-cpus 목록과 같은 CPUfreq 설정에 대한 정보를 나열한다.

cpufreq-set 유틸리티를 사용하면 사용자 공간 거버너가 활성화된 경우 각 프로세서의 사용 가능한 주파수 범위, 작동 거버너 및 현재 실행 중인 주파수를 변경할 수 있다. 자세한 정보는 cpufreq-info 및 cpufreq-set man 페이지에서 확인할 수 있다.




위로


거버너 관련 설정

이제 사용자가 커널 내 거버너에서 변경할 수 있는 설정에 대해 알아보자.

절전 및 성능 거버너

이들 거버너는 정적으로 프로세서 주파수를 각기 최저 및 최대 주파수로 설정한다. 사용자가 변경할 수 있는 유일한 설정에 대해서는 앞 섹션에서 설명했다.

사용자 공간 거버너

이제 거버너 관련 설정에 대한 설명을 시작해 보자. 사용자 공간 거버너를 활성화하면 cpufreq 디렉토리에서 루트 권한으로 쓰기 가능한 scaling_setspeed라는 파일을 볼 수 있다. 이 거버너를 사용하면 사용자 공간에 있는 사용자 또는 프로그램이 프로세서 주파수를 대화식으로 변경할 수 있다. 사용자는 원하는 주파수를 이 파일에 echo하거나 일부 사용자 공간 디먼을 사용하여 이 값을 설정할 수 있다. 앞에서 설명한 파일을 사용했을 때와 마찬가지로 각 프로세서에 대한 scaling_setspeed 파일을 변경해야 한다.

사용자 공간 거버너에서는 여러 디먼을 통해 프로세서 주파수를 조정할 수 있으며 디먼의 예를 들면, 다음과 같다.

  • cpudyn(CPU 동적 주파수 제어): 이 디먼은 프로세서 로드의 주파수 변경에 기초하며 수행할 작업이 없을 경우 디스크를 대기 모드로 전환하여 전력을 절약하는 기능도 제공한다.
  • cpufreqd: 이 디먼은 배터리 레벨, AC 상태, 온도, 실행 프로그램, 프로세서 사용량 등에 따라 대응하도록 구성할 수 있다.
  • cpuspeed: 이 디먼은 프로세서 요구량, 전원 공급 변경, 온도 등에 따라 주파수를 변경할 수 있다.
  • powernowd: 이 거버너 디먼은 프로세서 로드의 주파수 변경에 기초하며 네 가지 동작 모드를 제공한다.

온디맨드 거버너

온디맨드 거버너를 로드한 경우에는 cpufreq 디렉토리에 ondemand 디렉토리가 표시된다. 이 디렉토리 내에는 조정 가능한 여러 가지 설정이 있다. 루트 권한으로 쓰기 가능한 모든 파일은 앞에서 설명한 대로 새 값을 echo하여 변경할 수 있다. 온디맨드 설정에 대한 변경 사항은 전체 시스템에 적용되므로 각 프로세서의 설정을 변경하지 않아도 된다.


Listing 10. 온디맨드 거버너의 조정 가능한 설정 확인하기

[root@systemx ~]# cd /sys/devices/system/cpu/cpu0/cpufreq/ondemand/
[root@systemx ondemand]# ls -l
total 0
-rw-r--r-- 1 root root 4096 Nov 19 10:30 ignore_nice_load
-rw-r--r-- 1 root root 4096 Nov 19 10:30 powersave_bias
-rw-r--r-- 1 root root 4096 Nov 19 10:30 sampling_rate
-r--r--r-- 1 root root 4096 Nov 19 10:30 sampling_rate_max
-r--r--r-- 1 root root 4096 Nov 19 10:30 sampling_rate_min
-rw-r--r-- 1 root root 4096 Nov 19 10:30 up_threshold

ignore_nice_load 파일은 0(기본값) 또는 1로 설정할 수 있다. 이 매개변수를 1로 설정하면 "nice" 값을 가진 프로세스는 전체 프로세서 사용률 계산 시 고려되지 않는다. 0으로 설정하면 모든 프로세스가 사용률 계산 시 고려된다. 이 설정은 많은 프로세서가 필요한 프로그램을 실행 중이지만 런타임에 대해서는 고려하지 않으려는 경우에 유용하다. "nice" 설정을 프로세서에 적용하면 해당 프로세서가 주파수 결정에 영향을 주지 않게 된다.

다음으로 powersave_bias 파일은 온디맨드 거버너의 동작을 약간 수정한 설정이다. 이 파일을 사용하면 사용자가 성능을 덜 중요시할 때 대상 주파수를 지정된 비율만큼 낮춰서 절전 효과를 높일 수 있다. 이 설정 값의 범위는 1 - 1000이며 이 값에 따라 주파수를 0.1%부터 100%까지 낮출 수 있다.

마이크로초 단위로 측정되는 sampling_rate는 설정할 주파수를 결정하기 위해 거버너가 프로세서 사용률을 검사하는 빈도를 결정한다. 이 설정은 sampling_rate_minsampling_rate_max 사이의 값으로 설정해야 한다.

마지막으로 up_threshold 설정을 사용하면 프로세서 주파수의 변경을 트리거하는 최대 프로세서 사용률 임계값을 변경할 수 있다. 기본적으로 up_threshold 값은 80이다. 이 값은 모든 sampling_rate에 대해 커널이 프로세서 사용률을 검사하여 사용률이 80% 이상이면 거버너가 주파수를 사용 가능한 최대 주파수로 높인다는 것을 의미한다.

보존적 거버너

보존적 거버너를 로드한 경우에는 cpufreq 디렉토리에 conservative 디렉토리가 표시된다. 이 디렉토리 내에는 조정 가능한 여러 가지 설정이 있다. 루트 권한으로 쓰기 가능한 모든 파일은 앞에서 설명한 대로 새 값을 echo하여 변경할 수 있다. 보존적 설정에 대한 변경 사항은 전체 시스템에 적용되므로 각 프로세서의 설정을 변경하지 않아도 된다.


Listing 11. 보존적 거버너의 조정 가능한 설정 확인하기

[root@systemx ~]# cd /sys/devices/system/cpu/cpu0/cpufreq/conservative/
[root@systemx conservative]# ls -l
total 0
-rw-r--r-- 1 root root 4096 Nov 19 11:31 down_threshold
-rw-r--r-- 1 root root 4096 Nov 19 11:31 freq_step
-rw-r--r-- 1 root root 4096 Nov 19 11:31 ignore_nice_load
-rw-r--r-- 1 root root 4096 Nov 19 11:31 sampling_down_factor
-rw-r--r-- 1 root root 4096 Nov 19 11:31 sampling_rate
-r--r--r-- 1 root root 4096 Nov 19 11:31 sampling_rate_max
-r--r--r-- 1 root root 4096 Nov 19 11:31 sampling_rate_min
-rw-r--r-- 1 root root 4096 Nov 19 11:31 up_threshold

ignore_nice_load, sampling_rate, sampling_rate_max, sampling_rate_minup_threshold 설정은 앞에서 설명한 온디맨드 거버너의 설정과 동일하다.

보존적 거버너를 사용하면 down_threshold도 설정할 수 있다. 예를 들어, down_threshold는 기본적으로 20으로 설정된다. 이 값은 모든 sampling_rate에 대해 커널이 프로세서 사용률을 검사하여 사용률이 20% 미만이면 거버너가 주파수를 낮춘다는 것을 의미한다.

freq_step 설정은 거버너가 CPU 주파수를 높이거나 낮출 때 사용하는 주파수 단계의 크기를 변경한다. 기본적으로 이 값은 5로 설정되며, 이는 거버너가 주파수 변경 시마다 최대 또는 최소 주파수의 5%씩 주파수를 변경한다는 것을 의미한다. 이 값을 100으로 설정한 경우에는 거버너가 온디맨드 거버너와 동일하게 작동하게 된다.

마지막으로 sampling_down_factor는 프로세서 사용률에 대한 샘플링 빈도를 낮추기 위한 sampling_rate의 배수로 사용된다. 예를 들어 sampling_rate가 10,000이고 sampling_down_factor가 2이면 커널이 20,000마이크로초마다 프로세서 사용률을 샘플링한다.

스케줄러 조정 항목

이제 다음과 같은 두 가지 스케줄러 조정 항목을 살펴보자.—

  • sched_mc_power_savings: 코어의 프로세스 스케줄링
  • sched_smt_power_savings: 한 코어에 있는 하이퍼스레드의 프로세스 스케줄링

sched_mc_power_savings

sched_mc_power_savings는 /sys/devices/system/cpu/ 디렉토리에 있는 스케줄러 조정 항목이다. 이 조정 항목을 사용하려면 Part 1의 설정 섹션에서 설명한 대로 CONFIG_SCHED_MC 구성 파일 옵션을 y로 설정해야 한다.


Listing 12. sched_mc_power_savings의 위치 확인하기

[root@systemx ~]# cd /sys/devices/system/cpu/
[root@systemx cpu]# ls -l
total 0
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu0
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu1
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu2
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu3
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu4
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu5
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu6
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu7
-rwxrwxr-x 1 root root 4096 Nov 19 09:54 sched_mc_power_savings

sched_mc_power_savings 파일은 0(기본값) 또는 1로 설정할 수 있다. 1로 설정한 경우 스케줄러는 최소 개수의 코어에 있는 프로세스만을 스케줄링하려고 시도하며 이 경우 나머지 다른 코어의 프로세스는 유휴 상태로 전환될 수 있다. 다시 말해서 모든 프로세서의 사용률이 낮은 경우 sched_mc_power_savings는 가능한 최소 개수의 프로세서로 작업을 통합한다. 이렇게 하면 일부 프로세서가 유휴 상태로 전환되기 때문에 절전 효과를 얻을 수 있다. 특히 프로세서가 C 상태와 같이 유휴 상태 시 전력을 거의 사용하지 않는 깊은 유휴 상태를 지원하는 경우에는 절전 효과가 높아진다. 실제 절전 효과는 사용 가능한 프로세서 수, 실행 중인 CPUfreq 거버너 등과 같은 여러 요인에 따라 달라질 수 있다. sched_mc_power_savings가 0이면 특별한 스케줄링이 수행되지 않는다.

sched_smt_power_savings

sched_smt_power_savings 조정 항목은 /sys/devices/system/cpu/ 디렉토리에 있는 또 하나의 스케줄러 조정 항목이지만 이 조정 옵션은 하이퍼스레딩을 지원하는 시스템에서만 사용할 수 있다. 이 조정 항목을 사용하려면 Part 1의 설정 섹션에서 설명한 대로 CONFIG_SCHED_SMT 구성 파일 옵션을 y로 설정해야 한다.


Listing 13. sched_smt_power_savings의 위치 확인하기

[root@systemx ~]# cd /sys/devices/system/cpu/
[root@systemx cpu]# ls -l
total 0
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu0
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu1
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu2
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu3
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu4
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu5
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu6
drwxr-xr-x 5 root root 0 Nov 12 17:45 cpu7
-rwxrwxr-x 1 root root 4096 Nov 19 09:54 sched_mc_power_savings
-rwxrwxr-x 1 root root 4096 Nov 19 09:54 sched_smt_power_savings

sched_mc_power_savings 설정과 마찬가지로 sched_smt_power_savings 파일도 0(기본값) 또는 1로 설정할 수 있다. 1로 설정한 경우 스케줄러는 한 코어에 있는 최소 개수의 하이퍼스레드에 대한 프로세스만을 스케줄링하려고 시도하며 이 경우 나머지 프로세스가 유휴 상태로 전환되기 때문에 C 유휴 상태를 통해 전력을 절약할 수 있다.

후속 기사 소개

Part 3에서는 두 가지 유명한 구성 워크로드를 사용하여 다양한 워크로드에 대한 각 거버너의 효과에 대해 설명한다.



참고자료

교육

제품 및 기술 얻기

토론
  • 포럼에 참여하기.

  • 사용자의 개인 프로파일과 사용자 정의 홈 페이지가 제공되는 My developerWorks community에서는 관심을 가지고 있는 developerWorks의 여러 주제를 추적할 수 있으며 다른 developerWorks 사용자들과 의견을 나눌 수도 있다.


필자소개

author photo - Jenifer Hopper

Jenifer Hopper는 텍사스주 오스틴에 소재하고 있는 IBM Linux performance group의 소프트웨어 엔지니어이며 현재는 주로 HPC(High Performance Computing) 및 에너지 워크로드와 시스템 프로파일러 및 데이터 분석 도구에 관한 업무를 맡고 있다.




기사에 대한 평가


보다 나은 서비스를 제공하기 위함이오니 잠시 짬을 내어 이 양식을 제출하여 주십시오.



 


 


 


이 문서 북마킹 하기

mar.gar.in mar.gar.in naver naver eolin eolin del.icio.us del.icio.us





위로


developerWorks 콘텐트를 다른 사이트에 전재하기:
developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오.
    IBM 소개 개인정보 보호정책 문의