Hemat Listrik Bersama Linux
Listrik adalah penggerak utama semua perangkat elektronik, termasuk komputer dan segala variannya, seperti PDA, laptop, tablet PC, dan seterusnya. Listrik yang terus-menerus dikonsumsi oleh perangkat elektronik biasanya berdampak pada beberapa hal. Hal yang paling terasa adalah panas atau kalor. Konsekuensi lainnya adalah perangkat elektronik Anda cenderung lebih cepat rusak. Yang pasti, tagihan listrik Anda akan semakin membengkak. Bagi pengguna laptop dan perangkat mobile lainnya, Anda tentu tidak ingin mengalami kehabisan baterai saat masih di perjalanan padahal pekerjaan yang dilakukan di notebook masih belum selesai.
Kabar baiknya, sistem operasi Linux pun bisa melakukannya untuk Anda. Tentu saja hal ini tidak bisa dilakukan dengan sekali percobaan, kadang butuh berkali-kali eksperimen untuk mendapatkan hasil optimal. Penulisan didasarkan atas pemakaian distro Fedora 7 (kernel 2.6.23.13, 2.6.24.2, dan 2.6.25.7). Pemakaian tiga versi kernel dimaksudkan untuk memastikan artikel ini semaksimal mungkin relevan untuk berbagai versi kernel.
Menonaktifkan Daemon dan Perangkat
Perangkat komputer masa kini dilengkapi dengan beragam feature internal, seperti sound card, WiFi, ethernet card, dan seterusnya. Memang, ini memudahkan pengguna dalam bekerja. Namun jika tidak digunakan dengan bijaksana, apa yang sebenarnya terjadi adalah pemborosan listrik.
Jadi, resep pertama sebenarnya sederhana. Apabila laptop Anda sedang tidak membutuhkan akses WiFi, nonaktifkan saja interface WiFi lewat menu BIOS. Perhatikan bahwa tidak terhubung ke hotspot tidak sama dengan mematikan interface WiFi. Dalam posisi tidak terhubung, sebenarnya interface WiFi masih memancarkan gelombang pada frekuensi tertentu secara terus-menerus. Dari sisi keamanan sistem, mematikan interface WiFi juga dapat mengurangi risiko komputer Anda disusupi oleh pengguna lain (hacker).
Pada beberapa prosesor dual core, terdapat fasilitas untuk menonaktifkan salah satu core. Fungsi ini layak dicoba jika Anda tidak membutuhkan kinerja maksimal.
Semakin Sering Berdetak, Semakin Boros.
“Komputer saya berdetak? Lalu, di mana jantungnya?” Memang, tidak ada jantung di komputer di Anda, tetapi ada sesuatu yang bekerja mirip dengan jantung di dalam komputer Anda. Nama perangkat tersebut adalah chip timer. Timer ini ada beberapa jenis, tetapi yang biasanya ditemui adalah tipe PIT (Programmable Interrupt Timer) atau HPET (High Perfomance Enhanced Timer). Timer diprogram agar mengirim interrupt terus-menerus pada interval tertentu, mirip seperti Anda menyetel jam weker untuk membangunkan Anda di pagi hari.
Timer pada kernel Linux biasanya dipakai untuk tugas-tugas rutin, seperti meng-update statistik beban CPU, mengecek sisa time slice program yang aktif, serta seabrek pekerjaan lainnya. Jadi, jika kernel diset dengan frekuensi timer (timer frequency) 1000 Hz, semua pekerjaan tersebut akan dilakukan 1000 kali per detik. Pertanyaannya, perlukah sebanyak itu?
Berkaitan dengan hal di atas, tersedia feature baru tickless kernel yang diperkenalkan pada kernel versi 2.6.21. Sebagian besar distro terbaru telah mengaktifkan feature ini. Pastikan, opsi “Tickless System” berada pada posisi aktif dalam konfigurasi kernel (lihat gambar kiri atas). Apa keuntungannya jika feature ini diaktifkan? Timer tidak lagi berdetak secara konstan, tetapi disesuaikan dengan kebutuhan. Jadi, jika untuk satu detik ke depan hanya 10 detakan yang diperlukan, timer mengirim interrupt cuma 10 kali. Semakin sedikit detakan, maka konsumsi daya CPU dan timer semakin menurun.
Apabila Anda belum memakai kernel terbaru (minimal 2.6.21), ada juga trik lainnya. Pilih frekuensi timer yang terendah sesuai beban kerja PC. Umumnya, ada empat pilihan: 100, 250, 300, dan 1000. Berikut ini perkiraan frekuensi yang cocok:
Apabila pekerjaan Anda sekadar mengetik, berselancar, e-mail, atau chatting, 100 Hz adalah pilihan yang tepat.
Angka 1000 adalah pilihan terbaik jika Anda berurusan dengan pekerjaan multimedia, seperti membuat musik, live recording, atau pengolahan video. Memang secara umum, pekerjaan semacam ini sangat memeras daya listrik, jadi tidak banyak yang bisa dilakukan untuk menghemat listrik.
Frekuensi 250 atau 300 merupakan jalan tengah jika Anda pengguna komputer yang tidak memiliki tipikal pekerjaan tertentu, misalnya terkadang mengetik sambil memainkan MIDI ke external MIDI sequencer. Dengan demikian, musik tetap lancar dimainkan, tetapi dengan daya tidak terlalu boros.
Menu aktivasi tickless dan pemilihan frekuensi bisa Anda temukan di dalam submenu “Processor type and features”, persisnya pada item Tickless System dan Timer Frequency.
Gunakan Module Pengatur Daya CPU
Apabila Anda memakai PC berbasis prosesor mobile (AMD Turion64 atau Intel Core 2 Duo), tersedia fungsi dynamic clock scaling untuk mengubah frekuensi prosesor sesuai kebutuhan. Berbeda dengan prosesor era terdahulu yang frekuensi ditetapkan hanya pada satu nilai, prosesor yang menyertakan fungsi ini dapat mengatur frekuensinya sesuai besarnya kebutuhan pengolahan. Semakin rendah frekuensi, semakin sedikit juga konsumsi daya listrik.
Pengaturan frekuensi dilakukan dengan mengaktifkan module yang dikenal dengan istilah governor. Governor pada kernel Linux terbaru ada lima macam:
Ondemand: frekuensi CPU akan diubah-ubah sesuai beban kerja yang ada. Dengan demikian, saat bebannya kecil, frekuensi akan turun serendah mungkin. Sebaliknya, jika perlu kinerja maksimal, frekuensi akan kembali ke nilai puncak.
Conservative: Bersifat seperti governor ondemand, tetapi perubahan frekuensi dilakukan secara perlahan. Ini sebabnya module ini diberi nama “conservative”.
Perfomance: frekuensi prosesor akan diset semaksimal mungkin.
Userspace: user dengan privilege root dimungkinkan untuk mengeset sendiri frekuensi prosesor. Jenis ini tidak terlalu disarankan bagi pengguna pemula.
Powersave: Kebalikan dari governor perfomance, frekuensi akan selalu berada di nilai terendah.
Sebelum memilih module yang sesuai, pastikan semua module pengaturan frekuensi sudah di-load:
# /sbin/modprobe cpufreq_powersave
# /sbin/modprobe cpufreq_conservative
# /sbin/modprobe cpufreq_userspace
# /sbin/modprobe cpufreq_ondemand
# /sbin/modprobe cpufreq_perfomance
Abaikan saja jika ada dari salah satu perintah di atas yang gagal, karena bisa jadi salah satunya sudah diset menjadi module default yang aktif sejak komputer di-booting. Untuk memilih module yang aktif, Anda cukup mengetikkan seperti di bawah ini.
# echo ondemand > /sys/devices/system/
cpu/cpu0/cpufreq/scaling_governor
Perhatikan bahwa perintah di atas harus dilakukan sebagai root dan nama module seluruhnya menggunakan huruf kecil. Untuk system multicore, setting governor di satu core akan otomatis disamakan untuk core yang lain. Akan tetapi untuk sistem multiprosesor (ada lebih dari satu chip prosesor), Anda harus mengetik seperti ini:
# echo ondemand > /sys/devices/system/
cpu/cpu0/cpufreq/scaling_governor
# echo ondemand > /sys/devices/system/
cpu/cpu1/cpufreq/scaling_governor
CATATAN: Tiap prosesor boleh diset dengan governor yang berbeda.
Sekarang pertanyaannya, mana module yang sebaiknya dipilih? Penulis sendiri cenderung memilih jenis conservative karena module ini fleksibel terhadap perubahan beban kerja. Jadi, kapanpun dibutuhkan tenaga maksimal, prosesor dapat menyediakannya. Sebaliknya, prosesor pun dapat selama mungkin ditahan di level konsumsi daya terendah jika kita memang sedang mengerjakan pekerjaan ringan, misalnya menjalankan word processor untuk mengetik laporan.
Perubahan antar-frekuensi (P-state) dan level konsumsi daya (C-state) dilakukan lebih pelan dibanding ondemand. Perlu diketahui bahwa perubahan yang terlalu cepat antar-level P-state dan/atau C-state juga merupakan penguras daya listrik.
Pilihan yang lebih ekstrim adalah powersave. Apabila Anda telah yakin komputer sedang tidak perlu bekerja cepat, module ini akan menghemat listrik cukup banyak. Hanya saja kelemahannya, komputer akan bekerja lebih pelan saat menangani pekerjaan berat.
Laptop Mode
Metode ini bukan berarti identik hanya untuk pengguna laptop. Pengguna desktop pun juga bisa turut merasakan manfaat dari mode ini. Ide dasar dari setting ini adalah fakta bahwa salah satu sumber pemborosan daya adalah gerakan head hard disk saat membaca atau menulis data. Berbeda dengan memori yang diakses murni secara elektris, hard disk diakses secara mekanis dengan memosisikan head pada suatu sektor. Semakin sering head bergerak, konsumsi daya semakin besar. Akan lebih parah lagi jika head bergerak maju-mundur atau meloncat-loncat. Pengecualiannya adalah jika laptop Anda menggunakan SSD (Solid State Drive), misalnya pada Eee PC atau Mac Book Air.
Laptop mode berusaha meminimalkan pergerakan disk dengan menunda aktivitas flushing data ke disk. Dengan cara ini, data akan terkumpul relatif lebih banyak untuk sekian lamanya di memori baru kemudian ditulis semuanya ke disk. Apa keuntungannya? Head akan bergerak lebih efisien karena dalam sekali gerakan, penulisan data ke disk akan lebih banyak. Dalam keadaan normal, tidak semua data yang ada pada buffer memori ditulis ke disk. Efeknya, gerakan disk cenderung “irit”, tetapi terjadi berulang-ulang.
Untuk mengaktifkan laptop mode, Anda cukup menuliskan suatu angka ke entri /proc:
# echo 5 > /proc/sys/vm/laptop_mode
Angka 5 menyatakan jeda waktu (dalam detik) antara operasi I/O dengan proses flush semua data buffer kembali ke disk. Anda bebas menentukan angkanya, tetapi disarankan untuk tidak mengeset lebih besar dari 10 detik. Alasan teknisnya, jika data pada buffer belum sempat disinkronisasikan dengan disk, saat terjadi crash, risiko kehilangan data akan cukup besar.
Sebagai pelengkap dari laptop mode, Anda dapat pula meng-install paket laptop-mode-tools yang dapat di-download di http://www.samwel.tk/laptop_mode/packages. Di sana telah disiapkan paket-paket binary untuk beberapa distro, misalnya Fedora, Ubuntu, dan Mandriva sehingga relatif mudah di-install. Untuk pengguna distro Fedora, Anda dapat men-download paket terbaru, yaitu file “laptop-mode-tools-1.34-1.noarch.rpm”.
Paket ini bergantung pada paket acpid (ACPI-Advanced Configuration and Power Interface daemon) yang memantau status komputer Anda. Dari pengamatan penulis, distro Fedora 7 dan mungkin beberapa distro lain tidak memaketkan acpid pada CD/DVD installer utama, jadi Anda harus meng-install-nya dari repository tambahan. Trik lainnya adalah menggunakan paket acpid yang tersedia pada distro CentOS 5.1. Paket dari distro yang “serumpun” dengan Fedora ini sukses di-install dan berjalan tanpa masalah. Untuk itu, ketik:
# rpm -Uvh /<direktori tempat menyimpan>/
laptop-mode-tools-1.34-1.noarch.rpm
Untuk meng-install-nya, cukup aktifkan acpid dan laptop-mode service dengan perintah:
# chkconfig acpid on
# chkconfig laptop-mode on
Dua perintah di atas digunakan untuk memastikan acpid dan laptop-mode aktif setiap komputer di-boot.
# service acpid start
# service laptop-mode start
Dua perintah ini perlu dilakukan sekali, yaitu setelah instalasi paket laptop-mode. Service laptop mode dikendalikan oleh file konfigurasi yang terletak di /etc/laptop-mode/laptop-mode.conf. Ada beberapa variabel yang dapat diubah sesuai keinginan, tetapi nilai standarnya dinilai cukup memadai sebagai awal percobaan.
Untuk pengujian, cobalah melepaskan adapter listrik dari laptop Anda. Apabila acpid bekerja dengan benar, acpid akan mendeteksi bahwa laptop sekarang mengambil daya dari baterai dan sekaligus mengaktifkan mode laptop. Ini bisa Anda buktikan dengan melihat petikan beberapa baris terbawah dari perintah:
# /sbin/service laptop-mode status
…
Laptop Mode is allowed to run: /var/run/laptop
-mode-enabled exists.
/proc/sys/vm/laptop_mode:
2
…
/proc/acpi/ac_adapter/C1AB/state:
state: off-line
/proc/acpi/battery/C1AC/state:
present: yes
capacity state: ok
charging state: discharging
present rate: 858 mA
remaining capacity: 1680 mAh
present voltage: 15614 mV
Status discharging memastikan bahwa Linux mengetahui bahwa laptop sedang memakai baterai. Pada keadaan ini, selain mengaktifkan laptop-mode bawaan kernel Linux (lihat angka 2 pada /proc/sys/vm/laptop-mode), juga dilakukan beberapa aktivitas, antara lain:
Me-mount ulang beberapa partisi dengan option noatime dan diratime, efeknya, access time tidak di-update dan ini bisa menghemat akses disk.
Menaikkan angka readahead untuk memaksimalkan data yang dibaca dalam sekali gerakan head.
Meningkatkan kapasitas data yang dicache di memori (RAM) sebelum di-flush ke disk. Pada laptop yang dipakai, penggunaan laptop mode beserta laptop-mode-tools dapat menambah daya tahan baterai dari 15 sampai 45 menit (tergantung beban kerja).
Penutup
Akhir kata, memaksimalkan daya tahan baterai atau mengurangi konsumsi listrik pada dasarnya bukan urusan yang sulit jika Anda dapat mereduksi aktivitas komputer. Gunakan program, seperti Klaptop atau GNOME Power Monitor, agar konsumsi daya listrik selalu terpantau. Linux telah “dibekali” dengan berbagai feature dan program untuk menghemat listrik. Sekarang, tergantung Anda untuk memaksimalkan manfaatnya. Dengan menghemat listrik, berarti Anda pun telah ikut serta”menghijaukan” bumi. Selamat mencoba!