이것은 제가 우분투 10.04를 사용하다가 알게된 팁 입니다.
우선 드릴 말씀은, 저는 우분투를 사용한지 얼마 되지 않은 초보자 이므로
지금 제가 알려드리는 방법이 꼭 맞다거나 혹은 유용하지 않을 수도 있습니다.
(정정 사항이 있을 경우 덧글로 알려 주세요. ^^)
하지만 어쩌면 저와 비슷한 고민을 하셨던 분이 계시다면 참고가 되었으면 하는 마음에 글을 작성합니다.
고민의 시작.
자. 우분투를 설치했습니다. 기뻐서 이것저것 살펴보는 과정에서 패널에 이것저것 추가할 수 있는 것을 알았습니다.
그 중에 보니 cpu 클럭 스케일링 감시… 라는 것이 있네요. 그래서 이것도 한번 추가해 봤습니다.
엇. 그랬더니 cpu 모양 아이콘과 옆에 클럭 수가 표시되는데… 음? 내 컴퓨터 클럭은 2.83GHz 인데 2GHz에 맞춰져 있네?
그럼 현재 2GHz에 맞춰져 있으니 그만큼만 사용할 수 있다는 것인가?
그래서 클릭해 봤더니 2.83GHz와 2GHz의 두가지 선택지가 보입니다. (이것은 사용자의 컴퓨터 cpu에 따라 다를 수 있습니다.)
아. 그럼 나는 컴퓨터의 성능을 모두 끌어내어 쓰고 싶으니 2.83GHz에 맞춰 쓰자. 했습니다.
그런데 여기서 문제가 생겼습니다. 클럭 수를 바꾸는 것은 문제가 안되는데,
컴퓨터를 켰다가 끄면 다시 2GHz로 설정이 돌아가 있는 것입니다.
응? 어떻게 하면 2.83GHz를 기본 설정으로 할 수 있는 거지?
아니 그 전에 cpu 클럭 스케일링이란 기능은 왜 있는 걸까?
조사 시작.
일단 모르는게 있으면 우분투 포럼부터 살펴봅니다.
아. 대강의 글들을 읽어보니 cpu 클럭 스케일링은 우분투가 판올림 하는 도중 들어온 기능으로
이것을 통해 cpu 클럭을 조절하여 배터리를 아끼거나 혹은 노트북 열을 낮출 수 있구나. 라고 대강 이해했습니다.
그런데 이전 버전의 우분투에서는 gconf-editor에서 관련 항목 조절 부분이 있다고 하는데
10.04에서는 찾을 수가 없었습니다. 음… 뭔가 판올림 하면서 설정 부분이 바뀐건가?
그럴 수도 있겠거니 하면서 조금 더 조사를 해 보았습니다.
포럼에서 맘에 드는 답을 찾지 못했으니 이번에는 구글신님 입니다.
결국 원하는 답을 찾았습니다. 바로 cpufrequtils 입니다.
cpufrequtils에 관하여.
cpufrequtils은 크게 주로 두개의 프로그램으로 이루어져 있습니다.
[quote:3nd2ggkp]/usr/bin/cpufreq-info
/usr/bin/cpufreq-set
[/quote:3nd2ggkp]
이 두가지가 그것인데요, 위의 cpufreq-info 명령어의 경우, 터미널에 들어가서 이 명령어를 치면
현재 본인의 cpu 관련 정보를 주르륵… 하면서 보여줍니다. 이른바 인포 명령입니다.
이제 이것을 확인하고 세팅하는 명령어가 cpufreq-set 입니다. 대강의 사용법은 다음과 같습니다.
(더 자세한 것은 man cpufreq-set 으로 검색해 보세요. ^^)
[quote:3nd2ggkp]-d minimum frequency,
-u maximum frequency,
-f specific frequency (userspace governor must be set first) and
-g governor on a
-c specific CPU.
[/quote:3nd2ggkp]
-d 옵션은 cpu 클럭이 최저로 내려갈 수 있는 한계를 설정하는 값이고
-u 옵션은 cpu 클럭이 최고로 올라갈 수 있는 한계를 성정하는 값입니다.
그러므로 예를 들어 다음과 같은 명령을 내린다면
[quote:3nd2ggkp]sudo cpufreq-set -u 1.6Ghz[/quote:3nd2ggkp]
이것은 cpu가 최고로 올라갈 수 있는 클럭을 1.6 Ghz로 한계지은 것입니다.
즉 이 컴퓨터의 cpu는 아무리 애를 써도 1.6 Ghz 이상 올라가지 않는다는 것이죠.
문제 해결
자 이제 그래서 저는 이 명령어를 통해 제게 닥친 고민을 해결할 수 있었습니다.
우선 cpufrequtils을 설치해야겠죠? 터미널에서 다음과 같이 명령하여 설치할 수 있습니다.
[quote:3nd2ggkp]sudo apt-get install cpufrequtils[/quote:3nd2ggkp]
설치가 되었다면 이제 클럭을 조절해 봅시다.
저는 컴퓨터가 항상 2.83Ghz로 작동하길 원합니다. 그래서 다음과 같은 명령을 주었습니다.
[quote:3nd2ggkp]sudo cpufreq-set -d 2.83Ghz[/quote:3nd2ggkp]
이 명령어는 cpu의 클럭이 내려갈 수 있는 최저치를 2.83Ghz에 고정시켜 버린 것이지요.
결국 결론적으로 cpu 클럭은 항상 최고치인 2.83Ghz에 고정됩니다.
그런데 제가 사용하는 cpu는 쿼드 코어입니다;;
그러므로 각각의 설정을 따로 해줘야 합니다. 이는 -c 옵션으로 cpu를 지정하면서 해결할 수 있습니다.
[quote:3nd2ggkp]sudo cpufreq-set -c 0 -d 2.83Ghz
sudo cpufreq-set -c 1 -d 2.83Ghz
sudo cpufreq-set -c 2 -d 2.83Ghz
sudo cpufreq-set -c 3 -d 2.83Ghz[/quote:3nd2ggkp]
이상으로 문제가 모두 해결되었습니다.
덧붙이는 말
각각의 cpu에는 그것이 가지는 hardware limits과 available frequency steps가 있는 듯 합니다.
이것은 cpufreq-info 명령을 통해 확인해 볼 수 있습니다.
아래는 제 cpu info 중 일부입니다.
[quote:3nd2ggkp]$ cpufreq-info
cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 160 us.
[color=#FF0000:3nd2ggkp] hardware limits: 2.00 GHz - 2.83 GHz
available frequency steps: 2.83 GHz, 2.00 GHz[/color:3nd2ggkp]
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 2.83 GHz and 2.83 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 2.83 GHz.
cpufreq stats: 2.83 GHz:88.83%, 2.00 GHz:11.17% (30)
[/quote:3nd2ggkp]
hardware limits이 2.0~2.83 Ghz이며 available frequency steps이 2.0Ghz와 2.83Ghz 두가지 이므로
혹여 문제가 생길지 몰라서 저는 2.0Ghz와 2.83Ghz 만을 선택해서 적용해 보았습니다.
2.0과 2.83 사이의 값을 설정하는 것은 문제가 없을지 몰라도 하드웨어 한계값 밖에서 설정하는 것은
어떤 문제를 초래할지 몰라서 저는 건드려 보지 않았습니다.
클럭을 조절하시기 전에 우선 cpufreq-info 명령을 통해 자신의 cpu의 hardware limits을 확인하시기 바랍니다.
^^