Cpu Frequency di Linux

Oke sekarang saya akan coba membahas mengenai penggunaan cpufreq di Linux. Mungkin bagi sebagian orang, masih belum begitu kenal apa itu cpufreq. Sedikit pembahasan mengenai cpufreq.
cpufreq mengacu pada infrastruktur kernel yang mengimplementasikan CPU frequency scaling. Teknologi ini memungkinkan sistem operasi untuk mengatur skala kecepatan CPU tertinggi atau terendah yang biasanya digunakan untuk menghemat daya. Frekuensi CPU dapat ditingkatkan secara otomatis, tergantung pada beban sistem, dalam menanggapi peristiwa ACPI, atau secara manual oleh program userspace.
Info selanjutnya bisa baca di sini

Jadi kalau menurut saya, mungkin simpelnya untuk mengatur kecepatan CPU, jadi apabila komputer dalam ke adaan tidak dipakai beraktifitas, maka frequensi cpu akan di atur menjadi frequensi terendah, dan apabila dalam ke adaan beraktifitas tinggi, misal bermain game, maka frequensinya akan di atur menjadi tertinggi. Nah dengan adanya scalling frequensi ini, maka konsumsi daya akan menjadi lebih hemat (terutama saat komputer tidak dipakai beraktifitas).
Sebenarnya bagi para pengguna sistem operasi mobile Android, cpufreq ini sudah sangat umum sekali dibicarakan oleh para penggunanya. Biasanya cpufreq ini disandingkan dengan governors dan io scheduler. Jadi cara kerjanya intinya sama seperti itu.
Lalu disini saya akan mencoba mengatur cpufreq pada Linux saya (misal Slackware) dengan memakai kernel standar bawaan sistem slackware. Caranya adalah membuka terminal/konsol linux. Lalu ketik ini:

$ su
# cpufreq-info

Maka hasilnya akan ditampilkan seperti ini:

cpufrequtils 008: 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: 10.0 us.
  hardware limits: 933 MHz – 2.40 GHz
  available frequency steps: 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz, 1.07 GHz, 933 MHz
  available cpufreq governors: ondemand, userspace
  current policy: frequency should be within 933 MHz and 2.40 GHz.
                  The governor “ondemand” may decide which speed to use
                  within this range.
  current CPU frequency is 2.40 GHz.


Lihat disana ditampilkan bahwa frequenci cpu yang tersedia adalah 2.40Ghz, 2.27Ghz, 2.13Ghz, 2.00Ghz, 1.87Ghz sampai yang terkecil 933Mhz.
Lalu governors yang tersedia hanya ondemand, dan userspace.
Dan secara default, sistem slackware saya menggunakan cpufreq 933Mhz (kondisi terendah) dan 2.40Ghz (kondisi tertinggi), dan dengan governor ondemand.
Pertanyaannya adalah:

Bagaimana apabila saya ingin mengatur frequensi cpu saya menjadi 1.07Ghz (kondisi terendah) dan 2.40Ghz (kondisi tertinggi) dan menggunakan governors userspace?

Maka perintah yang harus dilakukan adalah dengan mengetik:

# cpufreq-set -d 1.07Ghz -u 2.40Ghz -g userspace

Maka hasil yang akan saya dapatkan adalah:

# cpufreq-info

cpufrequtils 008: 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: 10.0 us.
  hardware limits: 933 MHz – 2.40 GHz
  available frequency steps: 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz, 1.07 GHz, 933 MHz
  available cpufreq governors: ondemand, userspace
  current policy: frequency should be within 1.07 GHz and 2.40 GHz.
                  The governor “userspace” may decide which speed to use
                  within this range.
  current CPU frequency is 2.40 GHz (asserted by call to hardware).

Penjelasan

  • -d == untuk mengatur kondisi terendah
  • -u == untuk mengatur kondisi tertinggi
  • -g == untuk mengatur governors
  • Info lebih lengkap bisa coba melihatnya dengan menggunakan perintah:
    # cpufreq-set –h

Pertanyaan selanjutnya mungkin:

Lalu bagaimana apabila saya ingin menambahkan atau mengatur governors lain, selain yang di jelaskan di atas?

Jawabannya adalah secara default Linux kernel telah menyediakan beberapa governors lain dan kita biasanya harus mengompile kernel secara manual untuk mengaktifkan beberapa governors tersebut. Seperti Performance, Powersave, Conservative, Userspace, Ondemand. Penjelasan masing-masing dari governors di atas bisa dilihat di sini
Semoga Bermanfaat 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s