Gentoo Logo

Panduan Manajemen Power

Daftar Isi:

1.  Pendahuluan

Kapasitas dan umur baterai laptop mengalami banyak peningkatan pada beberapa tahun terakhir ini. Namun begitu, prosesor baru juga memerlukan energi yang lebih besar dibandingkan dengan prosesor lama dan setiap generasi laptop baru memperkenalkan perangkat baru yang haus energi. Itu sebabnya Manajemen Power sangatlah penting. Memperpanjang ketahanan baterai tidak selalu berarti membeli baterai baru yang lebih bagus, tetapi bisa didapatkan dengan cara menerapkan kebijakan Manajemen Power yang bagus.

Tinjauan Singkat

Perlu dicatat bahwa panduan ini menjelaskan Manajemen Power untuk laptop, walaupun beberapa bagian mungkin dapat diterapkan pada server, bagian-bagian lainnya tidak dapat anda terapkan di server dan dapat menyebabkan kerusakan. Jangan terapkan apapun yang dijelaskan pada panduan ini di server kecuali anda benar-benar mengerti kegunaannya.

Karena panduan ini semakin bertambah panjang, berikut ini adalah tinjauan singkat agar anda lebih mudah membacanya.

Bab Kebutuhan Awal berbicara tentang beberapa kebutuhan yang harus tersedia. Ini termasuk pengaturan BIOS, konfigurasi kernel dan beberapa penyederhanaan pada userland. Tiga bab berikut ini berfokus pada perangkat-perangkat yang paling banyak menyerap energi - prosesor, display dan harddisk. Masing-masing dapat dikonfigurasi secara terpisah. Manajemen Power CPU berisi cara merubah frekuensi prosesor untuk menghemat energi tanpa harus mengalami penurunan performa yang berarti. Beberapa trik untuk menghemat kerja harddisk dijelaskan di Manajemen Power Disk (juga menurunkan tingkat kebisingan sebagai manfaat tambahannya). Beberapa catatan tentang kartu grafis, Wireless dan USB mengakhiri bagian perangkat di Manajemen Power Untuk Perangkat Lain, sedangkan bab lainnya diperuntukkan bagi status sleep (yang masih eksperimental). Terakhir, Pemecahan Masalah menjelaskan beberapa masalah yang sering dihadapi.

Penggunaan Power Dari Setiap Komponen


Gambar 1.1: Penggunaan energi dari setiap komponen

Fig. 1: Komponen apa yang paling banyak menyerap energi dan seberapa banyak?

Hampir setiap komponen dapat beroperasi pada berbagai tingkatan - di antaranya off, sleep dan active - dan menggunakan jumlah energi yang berbeda pula. Sebagian besar energi dihabiskan oleh display LCD, CPU, chipset dan harddisk. Ada laptop yang dapat diatur untuk menghemat energi baterai dari BIOS tanpa konfigurasi tambahan pada sistem operasi, tetapi pengaturan Power Manajemen pada tingkat sistem operasi dapat menghemat energi lebih banyak lagi.

2.  Kebutuhan Awal

Sebelum kita berbicara lebih jauh tentang cara mengemat energi pada setiap perangkat, kita perlu memastikan agar semua kebutuhan awal telah terpenuhi. Setelah mengatur BIOS, beberapa opsi kernel harus diaktifkan - seperti ACPI, sleep states dan CPU frequency scaling. Karena penghematan energi biasanya akan mengakibatkan penuruanan performa atau meningkatkan latency, maka kita hanya akan mengaktifkan penghematan ketika baterai digunakan. Untuk itu kita memerlukan runlevel battery.

BIOS

Pertama anda perlu memeriksa pengaturan Power Management di BIOS. Cara terbaik adalah dengan menggabungkan pengaturan di BIOS dengan pengaturan di sistem operasi, tetapi untuk sekarang kita lebih baik menonaktifkan beberapa opsi di BIOS agar tidak menghalangi kebijakan yang kita tetapkan di sistem operasi. Jangan lupa periksa kembali pengaturan BIOS setelah selesai melakukan konfigurasi.

Pengaturan Flag USE

Periksa kembali apakah flag USE acpi telah digunakan di /etc/make.conf. Flag USE lain yang mungkin ingin anda gunakan adalah apm, lm_sensors, nforce2, nvidia, dan pmu. Bacalah /usr/portage/profiles/use*.desc untuk mengetahui kegunaan masing-masing flag. Jika anda lupa mengaktifkan salah satu flag yang ingin anda gunakan, anda dapat mengkompilasi ulang paket yang terpengaruh dengan menambahakan opsi --newuse pada perintah emerge, bacalah man emerge.

Konfigurasi Kernel

Dukungan ACPI (Advanced Configuration and Power Interface) di kernel masih dalam masa pengembangan. Anda perlu menggunakan kernel terbaru untuk mendapatkan dukungan terbaik.

Terdapat tiga source kernel di Portage. Penulis menganjurkan anda untuk menggunakan gentoo-sources atau tuxonice-sources. Kernel kedua berisi banyak tambalan untuk TuxOnIce, bacalah bab tentang sleep states untuk perinciannya. Ketika mengkonfigurasi kernel, aktifkan paling tidak opsi-opsi berikut ini:

Daftar Kode 2.1: Konfigurasi kernel minimal untuk Manajemen Power (Kernel 2.6)

Power Management Options --->
  [*] Power Management Support
  [ ] Software Suspend

  ACPI( Advanced Configuration and Power Interface ) Support --->
    [*] ACPI Support
    [ ]   Sleep States
    [ ]     /proc/acpi/sleep (deprecated)
    [*]   AC Adapter
    [*]   Battery
    <M>   Button
    <M>   Video
    [ ]   Generic Hotkey
    <M>   Fan
    <M>   Processor
    <M>     Thermal Zone
    < >   ASUS/Medion Laptop Extras
    < >   IBM ThinkPad Laptop Extras
    < >   Toshiba Laptop Extras
    (0)   Disable ACPI for systems before Jan 1st this year
    [ ]   Debug Statements
    [*]   Power Management Timer Support
    < >   ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)

  CPU Frequency Scaling --->
    [*] CPU Frequency scaling
    [ ]   Enable CPUfreq debugging
    < >   CPU frequency translation statistics
    [ ]     CPU frequency translation statistics details
          Default CPUFreq governor (userspace)
    <*>   'performance' governor
    <*>   'powersave' governor
    <*>   'ondemand' cpufreq policy governor
    <*>   'conservative' cpufreq governor
    <*>   CPU frequency table helpers
    <M> ACPI Processor P-States driver
    <*> CPUFreq driver for your processor

Putuskan sendiri apakah anda ingin mengkatifkan Software Suspend, dan Sleep States (baca penjelasan di bawah). Jika anda menggunakan laptop ASUS, Medion, IBM Thinkpad atau Toshiba, aktifkan opsi-opsi yang sesuai.

Kernel harus mengetahui cara apa yang akan digunakan untuk merubah frekuensi prosesor. Karena setiap jenis CPU memiliki antarmuka yang berbeda, anda harus memilih driver yang cocok untuk prosesor anda. Berhati-hatilah di sini - mengaktifkan Intel Pentium 4 clock modulation pada sistem dengan Pentium M, misalnya, dapat memberikan hasil yang aneh. Bacalah dokumentasi kernel jika anda tidak yakin harus memilih yang mana.

Kompilasi kernel anda, pastikan agar modul-modul yang diperlukan telah diatur untuk dimuat ketika boot lalu boot kernel baru anda. Selanjutnya jalankan emerge sys-power/acpid untuk menginstal daemon acpi. Daemon ini akan memberikan informasi kepada anda tentang event yang terjadi seperti perpindahan sumber energi dari AC ke baterai atau ketika laptop ditutup. Pastikan agar semua modul yang diperlukan telah dimuat jika anda tidak mengkompilasinya di dalam kernel lalu jalankan acpid dengan /etc/init.d/acpid start. Jalankan rc-update add acpid default agar daemon ini dijalankan ketika boot. Sebentar lagi anda akan mengetahui cara menggunakannya.

Daftar Kode 2.2: Instalasi acpid

# emerge sys-power/acpid
# /etc/init.d/acpid start
# rc-update add acpid default

Menciptakan Runlevel "battery"

Kebijakan default adalah mengaktifkan Manajemen Power hanya ketika diperlukan - yaitu ketika baterai digunakan. Agar perpindahan sumber energi dari AC ke baterai dan sebaliknya lebih mudah, ciptakan runlevel battery yang berisi semua yang menjalankan dan menghentikan Manajemen Power.

Catatan: Anda boleh saja melangkahi bagian ini jika anda tidak setuju dengan ide pembuatan runlevel baru. Namun begitu, anda akan menghadapi kesulitan ketika mengikuti panduan pada bagian-bagian selanjutnya jika anda melangkahinya. Bagian berikut ini menganggap anda menciptakan runlevel battery.

Daftar Kode 2.3: Menciptakan runlevel battery

# cd /etc/runlevels
# cp -a default battery

Selesai. Sekarang runlevel battery baru anda berisi semua yang ada di dalam runlevel default, namun belum ada otomatisasi untuk perpindahan. Kita akan membuatnya sekarang.

Bereaksi pada Event ACPI

Event ACPI umum adalah menutup laptop, mengganti sumber energi atau menekan tombol power. Event yang penting adalah mengganti sumber energi yang harus menyebabkan perpindahan runlevel. Skrip pendek berikut ini akan menanganinya.

Pertama anda memerlukan sebuah skrip yang dapat melakukan perpindahan runlevel dari default ke battery atau sebaliknya, tergantung sumber energi. Skrip ini menggunakan perintah on_ac_power dari sys-power/powermgmt-base - jangan lupa menginstal paket ini dulu.

Daftar Kode 2.4: Instalasi powermgt-base

# emerge powermgmt-base

Sekarang anda dapat mengetahui sumber energi yang digunakan dengan menjalankan on_ac_power && echo AC available || echo Running on batteries di shell. Skrip berikut ini bertanggung jawab untuk mengganti runlevel. Simpan skrip ini sebagai /etc/acpi/actions/pmg_switch_runlevel.sh.

Daftar Kode 2.5: /etc/acpi/actions/pmg_switch_runlevel.sh

#!/bin/bash

# AWAL konfigurasi 
RUNLEVEL_AC="default"
RUNLEVEL_BATTERY="battery"
# AKHIR konfigurasi 


if [ ! -d "/etc/runlevels/${RUNLEVEL_AC}" ]
then
    logger "${0}: Runlevel ${RUNLEVEL_AC} does not exist. Aborting."
    exit 1
fi

if [ ! -d "/etc/runlevels/${RUNLEVEL_BATTERY}" ]
then
    logger "${0}: Runlevel ${RUNLEVEL_BATTERY} does not exist. Aborting."
    exit 1
fi

if on_ac_power
then
    if [[ "$(</var/lib/init.d/softlevel)" != "${RUNLEVEL_AC}" ]]
    then
        logger "Switching to ${RUNLEVEL_AC} runlevel"
         /sbin/rc ${RUNLEVEL_AC}
    fi
elif [[ "$(</var/lib/init.d/softlevel)" != "${RUNLEVEL_BATTERY}" ]]
then
    logger "Switching to ${RUNLEVEL_BATTERY} runlevel"
    /sbin/rc ${RUNLEVEL_BATTERY}
fi

Jangan lupa jalankan chmod +x /etc/acpi/actions/pmg_switch_runlevel.sh agar skrip tersebut mendapatkan bit executable. Satu lagi yang perlu anda lakukan adalah memanggil skrip tersebut ketika terjadi perubahan sumber energi. Hal ini dapat dilakukan dengan menangkap event ACPI dengan bantuan dari acpid. Pertama anda perlu mengetahui event apa yang dihasilkan ketika perubahan sumber energi terjadi. Event-event ini dinamakan ac_adapter dan battery pada kebanyakan laptop, tetapi bisa jadi berbeda pada laptop anda.

Daftar Kode 2.6: Menangkap event ACPI pada perubahan sumber energi

# tail -f /var/log/messages | grep "received event"

Jalankan perintah di atas lalu cabut kabel power. Anda akan melihat pesan-pesan seperti berikut.

Daftar Kode 2.7: Contoh pesan tentang pergantian sumber energi

[Tue Sep 20 17:39:06 2005] received event "ac_adapter AC 00000080 00000000"
[Tue Sep 20 17:39:06 2005] received event "battery BAT0 00000080 00000001"

Bagian yang perlu diperhatikan adalah kalimat yang diberi tanda kutip setelah received event. Kalimat ini akan dicocokkan dengan baris event pada file yang akan anda tulis. Anda tidak perlu khawatir jika sistem anda menghasilkan banyak event atau menghasilkan event yang sama. Selama ada event baru yang dihasilkan, pergantian runlevel dapat dilakukan.

Daftar Kode 2.8: /etc/acpi/events/pmg_ac_adapter

# Gantikan "ac_adapter" di bawah ini dengan event pada laptop anda
# Sebagai contoh, ac_adapter.* sama dengan ac_adapter AC 00000080 00000000
event=ac_adapter.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e

Daftar Kode 2.9: /etc/acpi/events/pmg_battery

# Gantikan "battery" di bawah ini dengan event pada laptop anda
# Sebagai contoh, battery.* sama dengan battery BAT0 00000080 00000001
event=battery.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e

Terakhir, acpid harus di-restart agar perubahan diterapkan.

Daftar Kode 2.10: Menyelesaikan konfigurasi penggantian runlevel dengan acpid

# /etc/init.d/acpid restart

Cobalah: Tancapkan lalu cabut kabel power AC dan cari pesan "Switching to AC mode" atau "Switching to battery mode" di syslog. Bacalah bagian Pemecahan Masalah jika skrip tadi tidak dapat mendeteksi sumber energi dengan benar.

Karena sifat alami dari mekanisme event, laptop anda akan boot ke runlevel default tanpa mempedulikan sumber energi. Hal ini tidak perlu dikhawatirkan jika kita sedang menggunakan energi dari AC, namun kita ingin boot ke runlevel battery ketika kita menggunakan sumber energi dari baterai. Salah satu solusinga adalah dengan menambahkan entri baru di konfigurasi bootloader dengan parameter softlevel=battery, tetapi kemungkinan besar anda akan lupa memilih entri ini. Cara yang lebih baik adalah dengan memalsukan event ACPI pada akhir proses boot dan memerintahkan skrip pmg_switch_runlevel.sh untuk menentukan apakah perpindahan runlevel diperlukan. Buka file /etc/conf.d/local.start dengan editor kesukaan anda dan tambahkan baris-baris berikut:

Daftar Kode 2.11: Perpindahan runlevel saat boot dengan mengedit local.start

# Event acpi palsu untuk berpindah runlevel ketika menggunakan baterai
/etc/acpi/actions/pmg_switch_runlevel.sh "battery/battery"

Dengan begini, anda dapat menerapkan kebijakan Manajemen Power untuk masing-masing perangkat.

3.  Manajemen Power CPU

Prosesor mobile dapat beroperasi pada frequensi yang berbeda. Sejumlah CPU bahkan dapat menggati voltase. Biasanya CPU anda tidak perlu dijalankan pada kecepatan penuh dan dengan menurunkan kecepatannya, kita dapat menghemat banyak energi - bahkan tanpa mengalami penurunan performa.

Istilah-istilah Penting

CPU frequency scaling memperkenalkan beberapa istilah baru yang mungkin belum anda kenal. Berikut ini sedikit penjelasannya.

Pertama, kernel harus mampu mengganti frekuensi prosesor. Driver CPUfreq prosesor mengetahui perintah untuk menjalankannya. Untuk itu, anda harus memilih driver yang benar. Seharusnya anda telah melakukannya tadi ketika mengkonfigurasi kernel untuk mengaktifkan acpi. Jika kernel telah mengetahui cara mengganti frekuensi, kernel harus tahu frekuensi yang akan digunakan. Nilai ini didapatkan dari sebuah aturan yang terdiri dari aturan CPUfreq dan sebuah governor. Aturan CPUfreq hanyalah berupa dua nilai - minimal dan maksimal - yang menentukan rentang frekuensi yang akan digunakan. Governor akan memilih frekuensi di antara rentang tersebut. Sebagai contoh, governor powersave selalu memilih frekuensi terendah yang tersedia, sedangkan governor performance memilih frekuensi tertinggi. Governor userspace tidak membuat keputusan tetapi memilih apapun yang dipilih oleh pengguna (atau program di dalam userspace) - yang berarti governor ini membaca frekuensi dari /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed.

Ini kedengarannya tidak seperti perubahan frekuensi secara dinamis, dan sebenarnya memang tidak. Perubahan secara dinamis bisa didapatkan dengan melalui berbagai pendekatan. Sebagai contoh, governor ondemand membuat keputusan berdasarkan muatan/kerja CPU saat ini. Hal yang sama dilakukan juga oleh berbagai tool userland seperti cpudyn, cpufreqd, powernowd dan masih banyak lagi. Event ACPI dapat digunakan untuk mengaktifkan atau menonaktifkan perubahan frekuensi secara dinamis menurut sumber energi yang digunakan.

Pengaturan Frekuensi Secara Manual

Menurunkan kecepatan dan voltase CPU memberikan dua manfaat: penghematan energi dan penurunan panas CPU. Akibat jelek dari penurunan kecepatan CPU sudah pasti adalah penurunan performa. Mengurangi kecepatan prosesor juga berarti pertukaran antara kehilangan performa dan penghematan energi.

Catatan: Tidak semua laptop mendukung perubahan frekuensi. Jika anda tidak yakin, periksalah daftar prosesor yang mendukungnya di bagian Pemecahan Masalah untuk memastikan apakah laptop anda mendukungnya.

Saatnya untuk menguji apakah perubahan frekuensi CPU dapat dilakukan. Mari kita instal tool lain yang sangat berguna untuk proses debug: sys-power/cpufrequtils

Daftar Kode 3.1: Memeriksa frekuensi CPU

# emerge cpufrequtils
# cpufreq-info

Berikut adalah contoh output:

Daftar Kode 3.2: Contoh output dari cpufreq-info

cpufrequtils 0.3: cpufreq-info (C) Dominik Brodowski 2004
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: centrino
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 600 MHz - 1.40 GHz
  available frequency steps: 600 MHz, 800 MHz, 1000 MHz, 1.20 GHz, 1.40 GHz
  available cpufreq governors: conservative, ondemand, powersave, userspace, performance
  current policy: frequency should be within 924 MHz and 1.40 GHz.
    The governor "performance" may decide which speed to use
    within this range.
  current CPU frequency is 1.40 GHz.

Sekarang barmain-mainlah dengan cpufreq-set untuk memastikan apakah penggantian frekuensi dapat dilakukan. Jalankan cpufreq-set -g ondemand misalnya, untuk mengaktifkan governor ondemand dan lihat perubahannya dengan perintah cpufreq-info. Jika tidak berhasil, anda mungkin bisa mendapatkan batuan dari bagian Pemecahan Masalah di akhir panduan ini.

Pengaturan Frekuensi Secara Otomatis

Perintah-perintah di atas cukup bermanfaat, tetapi kurang cocok untuk penggunaan sehari-hari. Akan lebih bagus lagi jika frekuensi dapat diatur secara otomatis. Ada beberapa pendekatan yang dapat digunakan untuk melakukannya. Tabel berikut ini berisi tinjauan singkat yang dapat membantu anda memilih dari pendekatan-pendekatan yang tersedia. Cara-cara ini dipisahkan menjadi tiga bagian, pendekatan kernel yang hanya membutuhkan dukungan kernel, daemon untuk program yang dijalankan di belakang dan graphical untuk program yang menyediakan GUI untuk mempermudah konfigurasi.

Nama Kategori Dasar pengambilan keputusan Governor kernel Governor lain Komentar
Governor 'ondemand' Kernel Beban CPU Tidak tersedia Tidak tersedia Memilih frekuensi maksimal saat beban CPU penuh dan menurunkannya secara perlahan ketika CPU mengalami idle. Pengaturan tambahan dilakukan melalui file-file di dalam /sys/devices/system/cpu/cpu0/cpufreq/ondemand/. Membutuhkan tool userland (program, skrip) jika diperlukan penggantian governor atau yang sejenisnya.
Governor 'conservative' Kernel Beban CPU Tidak tersedia Tidak tersedia Tidak seperti governor odemand, governor conservative tidak langsung menggunakan frekuensi tertinggi ketika beban CPU penuh, tetapi meningkatkannya secara perlahan. Pengaturan tambahan dilakukan melalui file-file di dalam /sys/devices/system/cpu/cpu0/cpufreq/ondemand/. Membutuhkan tool userland (program, skrip) jika diperlukan penggantian governor atau yang sejenisnya.
ncpufreqd cpudyn Daemon Beban CPU Performa, penghematan energi Dinamis Juga mendukung disk standby - perlu diketahui bahwa pada kebanyakan kasus, laptop mode dapat bekerja lebih baik.
cpufreqd Daemon Status baterai, beban CPU, suhu, jumlah program yang berjalan, dll Semua tersedia Tidak tersedia Pengaturannya detil (tetapi agak rumit). Dapat diperluas dengan plugin seperti monitor sensor (lm_sensors atau dengan mengkoordinasikan kartu video yang memiliki memori atau inti berbasis nVidia. Cpufreqd mendukung SMP dan dapat dikendalikan ketika sedang dijalankan.
powernowd Daemon Beban CPU Tidak tersedia Pasif, sinus, agresif Mendukung multi-cpu (SMP).
ncpufreqd Daemon Suhu Tidak tersedia Penghematan energi, performa Memilih governor yang digunakan antara performa dan penghematan energi, tergantung pada suhu sistem. Sangat berguna untuk laptop yang bermasalah dengan suhu.
speedfreq Daemon Beban CPU Tidak tersedia Dinamis, penghematan energi, performa, kecepatan tetap Mudah dikonfigurasi dengan antarmuka klien/server yang bagus. Membutuhkan kernel 2.6. Tidak dikembangkan lagi, karenanya tidak tersedia di Portage. Gunakan cpefreqd jika anda masih menggunakan daemon ini.
gtk-cpuspeedy Grafis Tidak tersedia Tidak tersedia Tidak tersedia Aplikasi Gnome, tool grafis untuk mengatur frekuensi CPU secara manual dan tidak menawarkan pengaturan secara otomatis.
klaptopdaemon grafis Status baterai Semua tersedia Tidak tersedia Aplikasi KDE, membutuhkan governor 'ondemand' untuk pengaturan frekuensi secara dinamis.

Walaupun kelihatannya mengatur frekuensi berdasarkan beban CPU mudah dilakukan, sebenarnya ini bukan tugas yang mudah. Algoritma yang kurang bagus dapat menyebabkan terjadinya perubahan frekuensi tanpa henti atau penghamburan energi ketika frekuensi diatur ke level tinggi yang sebenarnya tidak diperlukan.

Apa yang harus saya pilih? Jika anda tidak yakin, gunakan cpufreqd:

Daftar Kode 3.3: Instalasi cpufreqd

# emerge cpufreqd

cpufreqd dapat dikonfigurasi dengan mengedit /etc/cpufreqd.conf. Konfigurasi defaultnya agak sedikit membingungkan. Penulis menganjurkan anda untuk menggantinya dengan konfigurasi berikut ini dari mantan pengembang Gentoo, Henrik Brix Andersen. Perlu diketahui bahwa anda memerlukan cpufreqd-2.0.0 atau yang lebih baru. Versi sebelumnya menggunakan sintaks konfigurasi yang berbeda.

Daftar Kode 3.4: /etc/cpufreqd.conf (cpufreqd-2.0.0 dan yang lebih baru)

[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=3
enable_plugins=acpi_ac, acpi_battery
enable_remote=1
remote_group=wheel
verbosity=5
[/General]

[Profile]
name=ondemand
minfreq=0%
maxfreq=100%
policy=ondemand
[/Profile]

[Profile]
name=conservative
minfreq=0%
maxfreq=100%
policy=conservative
[/Profile]

[Profile]
name=powersave
minfreq=0%
maxfreq=100%
policy=powersave
[/Profile]

[Profile]
name=performance
minfreq=0%
maxfreq=100%
policy=performance
[/Profile]

[Rule]
name=battery
ac=off
profile=conservative
[/Rule]

[Rule]
name=battery_low
ac=off
battery_interval=0-10
profile=powersave
[/Rule]

[Rule]
name=ac
ac=on
profile=ondemand
[/Rule]

Sekarang anda dapat menjalankan daemon cpufreqd. Jangan lupa tambahkan daemon ini ke runlevel default dan battery.

Daftar Kode 3.5: Menjalankan cpufreqd

# rc-update add cpufreqd default battery
# rc

Terkadang kita ingin menerapkan kebijakan yang berbeda dari kebijakan yang dipilih oleh daemon, misalnya ketika baterai lemah, tetapi kita tahu bahwa AC sebentar lagi akan tersedia. Pada kasus ini, anda dapat menggunakan modus manual cpufreqd dengan perintah cpufreqd-set manual lalu pilih salah satu kebijakan yang telah anda tetapkan (seperti yang ditampilkan oleh cpufreqd-get). Anda dapat meninggalkan modus manual dengan cpufreqd-set dynamic.

Peringatan: Jangan jalankan lebih dari satu perintah di atas secara bersamaan karena dapat menyebabkan kebingungan seperti perpindahan frekuensi tanpa henti.

Memeriksa hasil

Hal terakhir yang perlu diperiksa adalah apakah kebijakan kita telah berfungsi dengan baik. Cara mudah untuk melakukannya adalah dengan memonitor kecepatan CPU ketika laptop digunakan:

Daftar Kode 3.6: Memonitor kecepatan CPU

# watch grep \"cpu MHz\" /proc/cpuinfo

Jika /proc/cpuinfo tidak diperbarui (baca bagian Pemecahan Masalah), monitor frekuensi CPU dengan:

Daftar Kode 3.7: Cara alternatif untuk memonitor kecepatan CPU

# watch x86info -mhz

Tergantung pada pengaturan anda, kecepatan CPU seharusnya akan ditingkatkan ketika beban penuh, dan diturunkan ketika tidak ada aktifitas. Ketika menggunakan cpufreqd dan tingkat verbositas yang ditetapkan di cpufreqd.conf adalah 5 atau lebih, informasi tambahan tentang apa saja yang terjadi akan dilaporkan ke syslog.

4.  Manajemen Power LCD

Seperti yang bisa anda lihat di gambar 1.1, LCD adalah penyerap energi terbesar. Jadi, penting sekali untuk tidak hanya mematikan display ketika tidak diperlukan, tetapi juga mengurangi cahayanya jika memungkinkan. Kebanyakan laptop menyediakan fitur untuk mengendalikan pengaturan cahaya LCD.

Pengaturan Standby

Hal pertama yang perlu diperiksa adalah penetapan waktu standby/suspend/off display. Karena hal ini sangat bergantung pada WM yang anda gunakan, anda harus mencari sendiri cara melakukannya. Dua petunjuk: Mengosongkan layar terminal dapat dilakukan dengan setterm -blank <jumlah-menitM>, setterm -powersave on dan setterm -powerdown <jumlah-menitM>. Untuk X.org, edit /etc/X11/xorg.conf seperti berikut:

Daftar Kode 4.1: Pengaturan cahaya LCD untuk X.org

Section "ServerFlags"
  Identifier  [...]
  [...]
  Option  "blank time"  "5"  # Kosongkan layar setelah 5 menit (palsu)
  Option  "standby time"  "10"  # Kosongkan layar 10 menit (DPMS)
  Option  "suspend time"  "20"  # Suspend penuh setelah 20 menit
  Option  "off time"  "30"  # Matikan setelah setengah jam
  [...]
EndSection

[...]

Section "Monitor"
  Identifier  [...]
  Option  "DPMS"
  [...]
EndSection

Pengaturan Cahaya

Pengaturan cahaya mungkin lebih penting. Jika anda memiliki akses untuk ini melalui sebuah tool, tuliskan skrip kecil yang dapat mengatur cahaya LCD ketika baterai digunakan dan tambahkan skrip ini ke runlevel battery. Skrip berikut ini dapat digunakan pada kebanyakan laptop IBM Thinkpad dan Toshiba. Anda harus mengaktifkan opsi yang diperlukan di kernel (hanya untuk IBM Thinkpad). Untuk laptop Toshiba, instal sys-power/acpitool dan lewatkan konfigurasi thinkpad_acpi (dahulu bernama ibm_acpi) berikut ini.

Peringatan: Dukungan untuk pengaturan cahaya masih dianggap eksperimental pada ibm-acpi. Pengaturan ini mengakses hardware secara langsung dan mungkin dapat mengakibatkan kerusakan pada sistem anda. Kunjungilah website thinkpad_acpi.

Untuk dapat mengatur tingkat cahaya LCD, modul thinkpad_acpi harus dimuat dengan parameter eksperimental.

Daftar Kode 4.2: Muat modul thinkpad_acpi secara otomatis

(Bacalah peringatan di atas tentang hal ini!)
# echo "options thinkpad_acpi experimental=1" >> /etc/modules.d/thinkpad_acpi
# /sbin/update-modules
# echo thinkpad_acpi >> /etc/modules.autoload.d/kernel-2.6
# modprobe thinkpad_acpi

Perintah-perintah di atas seharusnya dapat dijalankan tanpa pesan error dan file /proc/acpi/ibm/brightness akan diciptakan setelah modul dimuat. Sebuah skrip init akan menangani pengaturan cahaya menurut sumber energi yang digunakan.

Daftar Kode 4.3: /etc/conf.d/lcd-brightness

# Bacalah /proc/acpi/ibm/brightness untuk mengetahui nilai-nilai yang tersedia
# Bacalah /usr/src/linux/Documentation/thinkpad-acpi.txt

# Tingkat cahaya pada modus AC. Default adalah 7.
BRIGHTNESS_AC=7

# Tingkat cahaya pada modus baterai. Default adalah 4.
BRIGHTNESS_BATTERY=4

Daftar Kode 4.4: /etc/init.d/lcd-brightness

#!/sbin/runscript

set_brightness() {
    if on_ac_power
    then
        LEVEL=${BRIGHTNESS_AC:-7}
    else
        LEVEL=${BRIGHTNESS_BATTERY:-4}
    fi

    if [ -f /proc/acpi/ibm/brightness ]
    then
        ebegin "Setting LCD brightness"
        echo "level ${LEVEL}" > /proc/acpi/ibm/brightness
        eend $?
    elif [[ -e /usr/bin/acpitool && -n $(acpitool -T | grep "LCD brightness") ]]
    then
        ebegin "Setting LCD brightness"
        acpitool -l $LEVEL >/dev/null || ewarn "Unable to set lcd brightness"
        eend $?
    else
        ewarn "Setting LCD brightness is not supported."
        ewarn "For IBM Thinkpads, check that thinkpad_acpi is loaded into the kernel"
        ewarn "For Toshiba laptops, you've got to install sys-power/acpitool"
    fi
}

start() {
    set_brightness
}

stop () {
    set_brightness
}

Setelah selesai, jangan lupa tambahkan skrip ini ke runlevel battery.

Daftar Kode 4.5: Mengaktifkan pengaturan cahaya secara otomatis

# chmod +x /etc/init.d/lcd-brightness
# rc-update add lcd-brightness battery
# rc

5.  Manajemen Power Disk

Harddisk menyerap energi yang lebih sedikit pada modus sleep. Jadi, kita perlu mengaktifkan fitur penyimpanan energi ketika harddisk tidak digunakan dalam rentang waktu tertentu. Berikut ini adalah dua cara untuk melakukannya. Pertama, laptop-mode akan menyimpan energi karena sebab tertentu yang akan mencegah atau paling tidak menunda akses penulisan ke harddisk. Kekurangan dari cara ini adalah, karena akses penulisan ditunda, maka ketika power hilang atau kernel crash, data yang belum ditulis kemungkinan besar akan hilang. Jika anda tidak menyukai akibat ini, pastikan agar tidak ada proses yang melakukan penulisan ke harddisk secara terus menerus. Setelah itu anda dapat mengaktifkan fitur penyimpanan energi harddisk dengan hdparm sebagai alternatif.

Meningkatkan waktu idle - laptop-mode

Daftar Kode 5.1: Instalasi laptop-mode-tools

# emerge laptop-mode-tools

laptop-mode-tools memiliki file konfigurasinya sendiri di /etc/laptop-mode/laptop-mode.conf, sesuaikan dengan kebutuhan anda. File ini juga berisi petunjuk-petunjuk berupa komentar. Jalankan rc-update add laptop_mode battery untuk menjalankannya secara otomatis.

Versi-versi terbaru (1.11 dan yang lebih baru) laptop-mode-tools mengikutsertakan sebuah tool baru, lm-profiler. Tool ini dapat memonitor sistem dan penggunaan disk anda dan menjalankan servis jaringan dan memberikan anjuran tentang servis yang sebaiknya dihentikan. Anda dapat menonaktifkannya melalui dukungan runlevel built-in laptop-mode-tools (yang akan kembali kepada /sbin/rc dari Gentoo) atau dengan runlevel default/battery.

Daftar Kode 5.2: Contoh output dari lm-profiler

# lm-profiler
Profiling session started.
Time remaining: 600 seconds
[4296896.602000] amarokapp
Time remaining: 599 seconds
[4296897.714000] sort
[4296897.970000] mv
Time remaining: 598 seconds
Time remaining: 597 seconds
[4296900.482000] reiserfs/0

Setelah memonitor sistem anda selama 10 menit, lm-profiler akan memberikan daftar servis yang mungkin menyebabkan akses disk selama proses monitor berlangsung.

Daftar Kode 5.3: Anjuran lm-profiler tentang servis yang sebaiknya dihentikan

Program:     "atd"
Reason:      standard recommendation (program may not be running)
Init script: /etc/init.d/atd (GUESSED)

Do you want to disable this service in battery mode? [y/N]: n

Untuk menonaktifkan atd seperti yang dianjurkan pada contoh di atas, anda perlu menjalankan rc-update del atd battery. Jangan sampai anda menonaktifkan servis yang diperlukan oleh sistem anda untuk dapat berjalan dengan normal - lm-profiler bisa saja memberikan pesan keliru. Jangan nonaktifkan sebuah servis jika anda tidak yakin apakah servis tersebut diperlukan atau tidak.

Membatasi Akses Penulisan

Jika anda tidak ingin menggunakan laptop-mode, anda harus lebih berhati-hati ketika menonaktifkan servis yang sering melakukan penulisan ke disk - syslogd adalah contohnya. Anda mungkin tidak perlu mengehentikan servis tersebut secara menyeluruh, tetapi cukup dengan mengubah file konfigurasi agar hal-hal yang "tidak terlalu penting" tidak perlu di-log untuk mengurangi penulisan ke disk. cups melakukan penulisan ke disk secara berkala, jadi anda mungkin perlu menghentikannya dan hanya mengaktifkannya kembali secara manual ketika diperlukan.

Daftar Kode 5.4: Menonaktifkan cups pada modus baterai

# rc-update del cupsd battery

Anda juga dapat menggunakan lm-profiler dari laptop-mode-tools (baca penjelasan di atas) untuk menghentikan servis. Setelah selesai, lanjutkan dengan mengkonfigurasi hdparm.

hdparm

Pendekatan kedua adalah dengan menggunakan hdparm. Lewatkan bagian ini jika anda menggunakan laptop-mode. Jika tidak, edit /etc/conf.d/hdparm dan tambahkan beberapa nialai berikut ini pada entri device anda. Contoh ini menganggap harddisk anda adalah hda:

Daftar Kode 5.5: Menggunakan hdparm untuk disk standby

hda_args="-q -S12"

Konfigurasi di atas akan mengaktifkan manajemen power untuk harddisk anda. Jika anda ingin menonaktifkan manajemen power, anda dapat mengedit /etc/conf.d/hdparm dan mengganti nilai di atas menjadi -q -S0, atau jalankan saja hdparm -q -S0 /dev/hda.

Bacalah manual hdparm untuk mengetahui opsi-opsi yang tersedia. Walaupun anda bisa saja menjalankan sendiri hdparm ketika anda menggunakan power dari baterai dengan perintah /etc/init.d/hdparm start, akan lebih mudah jika anda menambahkannya ke runlevel battery agar manajemen power selalu diaktifkan ketika boot.

Daftar Kode 5.6: Pengaturan disk standby secara otomatis

# rc-update add hdparm battery

Penting: Berhati-hatilah dengan pengaturan sleep/spin down harddisk. Penggunaan nilai kecil dapat merusak harddisk dan menghilangkan garansi.

Trik-trik lain

Pendekatan lainnya adalah dengan menonaktifkan swap pada modus baterai. Sebelum menulis skrip pemanggil swapon/swapoff, pastikan agar anda memiliki RAM yang cukup dan swap tidak sedang mendapatkan beban penuh, jika tidak, anda akan mendapatkan masalah besar.

Jika anda tidak ingin menggunakan laptop-mode, anda masih dapat mengurangi akses disk dengan me-mount beberapa direktori sebagai tmpfs - akses penulisan tidak dilakukan ke disk, tetapi ke memori utama dan akan hilang ketika unmount. Biasanya anda dapat menggunakan cara ini untuk /tmp - anda tidak perlu khawatir karena direktori ini akan tetap selalu dibersihkan setiap kali reboot tanpa mempedulikan apakah direktori tersebut di-mount ke RAM atau disk. Pastikan saja agar anda memiliki RAM yang cukup besar dan tidak ada program (seperti downloader atau utilitas kompresi) yang membutuhkan ruang besar di /tmp. Untuk melakukannya, tambahkan sebuah baris di /etc/fstab seperti berikut:

Daftar Kode 5.7: Edit /etc/fstab

none  /tmp  tmpfs  size=32m  0 0

Peringatan: Perhatikan baik-baik parameter ukuran dan sesuaikan dengan sistem anda. Jika anda tidak yakin, jangan coba-coba menggunakan cara ini, karena dengan mudah dapat menjadi penyebab penurunan performa. Jika anda ingin me-mount /var/log seperti ini, jangan lupa gabungkan dulu file-file log sebelum melakukan unmount. File-file ini penting. Jangan coba-coba untuk me-mount /var/tmp dengan cara ini. Portage menggunakannya untuk melakukan kompilasi...

6.  Manajemen Power Untuk Perangkat Lain

Kartu Grafis

Jika anda menggunakan kartu grafis ATi yang mendukung PowerPlay (pengaturan clock secara dinamis untuk graphics processing unit/GPU), anda dapat mengaktifkan fitur ini di X.org. Bukalah /etc/X11/xorg.conf dan tambahkan (atau aktifkan) opsi DynamicClocks pada seksi Device. Perlu diketahui bahwa fitur ini bisa menyebabkan crash pada beberapa sistem.

Daftar Kode 6.1: Mengaktifkan dukungan ATi PowerPlay di X.org

Section "Device"
[...]
Option      "DynamicClocks" "on"
EndSection

Manajemen Power Wireless

Kartu LAN Wireless dapat menyerap energi yang lumayan banyak. Tempatkan kartu ini pada modus Manajemen Power seperti halnya harddisk anda.

Catatan: Skrip berikut menganggap kartu wireless anda bernama wlan0; gantikan dengan nama kartu anda yang sebenarnya.

Tambahkan opsi berikut ini ke /etc/conf.d/net agar manajemen power untuk kartu wireless anda langsung diaktifkan.

Daftar Kode 6.2: Otomatisasi Manajemen Power WLAN

iwconfig_wlan0="power on"

Bacalah man iwconfig untuk mengetahui opsi-opsi lain seperti rentang waktu antara wakeup dan pengaturan timeout. Jika driver dan akses poin anda mendukung penggantian waktu penyiaran sinyal, anda dapat menyimpan energi yang lebi banyak lagi.

Manajemen Power USB

Terdapat dua masalah dengan perangkat USB berdasarkan konsumsi energi: Pertama, perangkat seperti mouse USB, kamera digital atau flashdisk mengkonsumsi energi ketika ditancapkan. Anda tidak dapat menghindarinya (untuk itu cabut perangkat tersebut jika tidak diperlukan). Kedua, ketika ada perangkat USB yang ditancapkan, pengendali host USB secara berkala mengakses bus untuk mencegah CPU masuk ke modus sleep. Kernel menyediakan sebuah opsi eksperimental untuk mendapatkan penonaktifan perangkat USB melalui pemanggilan driver atau salah satu file power/state di /sys.

Daftar Kode 6.3: Aktifasi dukungan penonaktifan USB di kernel

Device Drivers
  USB support
    [*]   Support for Host-side USB
      [*]   USB suspend/resume (EXPERIMENTAL)

7.  Status sleep: sleep, standby, dan suspend ke disk

ACPI menentukan beberapa jenis status sleep. Jenis-jenis yang penting untuk diketahui adalah:

  • S1 alias Standby
  • S3 alias Suspend ke RAM alias Sleep
  • S4 alias Suspend ke Disk alias Hibernate

Semuanya dapat dipanggil ketika sistem sedang tidak digunakan, tetapi, shutdown tidak diinginkan karena lamanya waktu boot.

Sleep (S3)

Dukungan ACPI untuk status sleep ini masih dianggap eksperimental untuk alasan yang baik. Status sleep APM kelihatannya lebih stabil, tetapi anda tidak dapat menggunakan APM dan ACPI bersamaan.

Daftar Kode 7.1: Konfigurasi kernel untuk beberapa tipe suspend

  Power Management Options --->
    [*]  Power Management support
      ACPI (Advanced Configuration and Power Interface) Support --->
        [*]  ACPI Support
          [*]   Sleep States

Setelah kernel anda dikonfigurasi dengan benar, anda dapat menggunakan hibernate-script untuk mengaktifkan modus suspend atau sleep. Mari kita instal skrip ini.

Daftar Kode 7.2: Instalasi hibernate-script

# emerge hibernate-script

Beberapa konfigurasi harus dilakukan di /etc/hibernate. Paket default menyediakan beberapa file konfigurasi untuk setiap status sleep. Opsi yang umum untuk semua metode suspen ditempatkan di common.conf; pastikan agar file ini dikonfigurasi dengan benar untuk sistem anda.

Untuk mengkonfigurasi sleep, edit sysfs-ram.conf di /etc/hibernate. UseSysfsPowerState mem telah dikonfigurasi dengan benar, tetapi jika anda masih perlu membuat sedikit perubahan pada status sleep ini (atau status sleep lain), anda harus menambahkan perubahan anda di /etc/hibernate/hibernate.conf. Komentar dan nama-nama opsi akan membantu anda. Jika anda menggunakan share nfs atau samba, jangan lupa menghentikan skrip init yang bersangkutan untuk menghindari timeout.

Catatan: Untuk informasi lebih lanjut tentang pengaturan status sleep, bacalah man hibernate.conf.

Siap? Sekarang adalah kesempatan terakhir bagi anda untuk mem-backup data apapun yang ingin anda simpan sebelum menjalankan perintah berikut. Anda mungkin perlu menekan tombol khusus seperti Fn untuk kembali dari sleep.

Daftar Kode 7.3: Memanggil sleep

# hibernate-ram

Jika anda masih membaca, kelihatannya pemanggilan telah berhasil. Anda juga dapat mengatur standby (S1) dengan cara yang sama dengan mengedit sysfs-ram.conf dan mengganti "UseSysfsPowerState mem" menjadi "UseSysfsPowerState standby". Bagaimanapun juga, S3 dan S4 adalah status sleep yang lebih menarik karena dapat menyimpan lebih banyak energi.

Hibernate (S4)

Bagian ini memperkenalkan hibernation yang akan menciptakan sebuah snapshot dari sistem saat ini sebelum komputer dimatikan. Ketika resume, snapshot tersebut akan dimuat dan anda dapat melanjutkan pekerjaan anda persis seperti sebelum anda memanggil hibernate.

Peringatan: Jangan lakukan penggantian hardware non-pluggable selama hibernate. Jangan mencoba untuk memuat snapshot dengan imej kernel yang berbeda dengan imej kernel ketika snapshot tersebut diciptakan. Matikan semua server/klien NFS atau samba sebelum melakukan hibernate.

Terdapat dua implementasi yang berbeda untuk S4. Implementasi yang asli adalah swsusp, dan yang kedua dan yang lebih baru adalah tuxonice (sebelumnya bernama suspen2) yang memiliki antarmuka yang lebih bagus (termasuk dukungan fbsplash). Perbandingan fitur-fiturnya bisa anda baca di website tuxonice. Dahulu ada Suspend-to-Disk (pmdisk), pencabangan dari swsusp, tetapi telah digabungkan kembali.

TuxOnIcebelum diikutsertakan pada kernel resmi, untuk itu anda harus menambal sendiri source kernel anda dengan tambalan-tambalan yang disediakan oleh tuxonice.net atau menggunakan sys-kernel/tuxonice-sources.

Bagian kernel untuk swusp dan TuxOnIce adalah sebagai berikut:

Daftar Kode 7.4: Konfigurasi kernel untuk beberapa tipe suspend

Power Management Options --->
  (hibernate dengan swsusp)
  [*] Software Suspend
      (gantikan /dev/SWAP dengan partisi swap anda)
      (/dev/SWAP)      Default resume partition

  (hibernate dengan TuxOnIce)
  Enhanced Hibernation (TuxOnIce)
    --- Image Storage (you need at least one writer)
    [*]     File Writer
    [*]    Swap Writer
    ---   General Options
    [*]    LZF image compression
    (gantikan /dev/SWAP dengan partisi swap)
    (swap:/dev/SWAP)   Default resume device name
    [ ]     Allow Keep Image Mode

Konfigurasi swusp cukup mudah. Jika anda tidak menentukan lokasi partisi swap anda pada konfigurasi kernel, anda dapat menentukannya dengan menambahkan parameter resume=/dev/SWAP pada konfigurasi bootloader. Jika proses boot gagal karena imej snapshot rusak, gunakan parameter noresume. Skrip init hibernate-cleanup akan menghapus imej swusp ketika proses boot berlangsung.

Daftar Kode 7.5: Penghapusan swsusp ketika proses boot berlangsung

# rc-update add hibernate-cleanup boot

Untuk mengaktifkan hibernate dengan swusp, gunakan skrip hibernate lalu atur UseSysfsPowerState disk di /etc/hibernate/sysfs-disk.

Peringatan: Backup data anda sebelum melanjutkan. Jalankan sync sebelum menjalankan perintah apapun agar semua data dituliskan ke disk. Pertama coba jalankan perintah ini dari luar X, kemudian jalankan ketika X berjalan, tetapi anda tidak login.

Jika anda mendapatkan masalah kernel panic disebabkan oleh uhci atau yang semacamnya, coba kompilasikan dukungan USB sebagai modul dan unload modul tersebut sebelum melakukan hibernate. Konfigurasi untuk ini ada di common.conf

Daftar Kode 7.6: Hibernate dengan swsusp

# nano -w /etc/hibernate/common.conf
(Jangan lupa membuat backup sebelumnya)
# hibernate

Bagian berikut ini menjelaskan pengaturan TuxOnIce termasuk dukungan fbsplash yang akan ditampilkan ketika suspend atau resume.

Konfigurasi bagian pertama mirip dengan konfigurasi swusp. Jika anda tidak menentukan lokasi partisi swap pada konfigurasi kernel, anda harus menentukannya sebagai parameter kernel, resume=swap:/dev/SWAP. Jika proses boot gagal karena imej rusak, tambahkan parameter noresume. Sebagai tambahan, skrip init hibernate-cleanup akan menghapus imej TuxOnIce selama proses boot berlangsung.

Daftar Kode 7.7: Penghapusan imej selama proses boot

# rc-update add hibernate-cleanup boot

Sekarang edit /etc/hibernate/suspend2.conf, aktifkan opsi TuXOnIce yang anda perlukan. Jangan dulu aktifkan opsi fbsplash.

Daftar Kode 7.8: Hibernate dengan TuxOnIce

# nano -w /etc/hibernate/suspend2.conf
(Jangan lupa membuat backup sebelumnya!)
# hibernate

Sekarang konfigurasikan fbsplash. Untuk menggunakan fbsplash ketika proses hibernate, diperlukan paket sys-apps/tuxonice-userui. Sebagai tambahan, anda harus mengaktifkan flag USE fbsplash.

Daftar Kode 7.9: Instalasi tuxonice-userui

# echo "sys-apps/tuxonice-userui fbsplash" >> /etc/portage/package.use
(Paket ini mungkin ditandai ~arch, jadi tambahkan dulu)
# echo "sys-apps/tuxonice-userui" >> /etc/portage/package.keywords
# emerge tuxonice-userui

Ebuild akan memerintahkan anda untuk menciptakan symlink ke tema yang ingin anda gunakan. Sebagai contoh, untuk menggunakan tema livecd-2005.1, jalankan perintah berikut:

Daftar Kode 7.10: Menggunakan tema livecd-2005.1 ketika hibernate

# ln -sfn /etc/splash/livecd-2005.1 /etc/splash/suspend2

Jika anda tidak menginginkan layar kosong pada awal proses resume, anda harus menambahkan tool tuxoniceui_fbsplash ke imej initrd anda. Dengan anggapan anda telah menciptakan imej intrd dengan perintah splash_geninitramfs dan menyimpannya sebagai /boot/fbsplash-emergence-1024x768, berikut cara melakukannya:

Daftar Kode 7.11: Menambahkan tuxoniceui_fbsplash ke imej initrd

# mount /boot
# mkdir ~/initrd.d
# cp /boot/fbsplash-emergence-1024x768 ~/initrd.d/
# cd ~/initrd.d
# gunzip -c fbsplash-emergence-1024x768 | cpio -idm --quiet -H newc
# rm fbsplash-emergence-1024x768
# cp /usr/sbin/tuxoniceui_fbsplash sbin/
# find . | cpio --quiet --dereference -o -H newc | gzip -9 > /boot/fbsplash-tuxonice-emergence-1024x768

Selanjutnya konfigurasikan grub.conf (atau lilo.conf) agar kernel tuxonice anda menggunakan /boot/fbsplash-tuxonice-emergence-1024x768 sebagai imej initrd. Sekarang anda dapat (pura-pura) mencobanya untuk mengetahui apakah semuanya telah diatur dengan benar.

Daftar Kode 7.12: Pengujian hibernate dengan fbsplash

# tuxoniceui_fbsplash -t

Kemudian buka /etc/hibernate/common.conf dan aktifkan opsi fbsplash. Jalankan hibernate dan..... enjoy!

8.  Pemecahan Masalah

T: Saya mencoba untuk mengganti frekuensi CPU, tetapi /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor tidak ada.

J: Pastikan agar prosesor anda mendukung penggantian frekuensi CPU dan anda telah memilih driver CPUfreq yang sesuai untuk prosesor anda. Berikut ini adalah daftar prosesor yang didukung oleh cpufreq (kernel 2.6.7): ARM Integrator, ARM-SA1100, ARM-SA1110, AMD Elan - SC400, SC410, AMD mobile K6-2+, AMD mobile K6-3+, AMD mobile Duron, AMD mobile Athlon, AMD Opteron, AMD Athlon 64, Cyrix Media GXm, Intel mobile PIII dan Intel mobile PIII-M pada beberapa chipset, Intel Pentium 4, Intel Xeon, Intel Pentium M (Centrino), National Semiconductors Geode GX, Transmeta Crusoe, VIA Cyrix 3 / C3, UltraSPARC-III, SuperH SH-3, SH-4, berbagai jenis "PowerBook" dan "iBook2" serta berbagai prosesor pada sistem yang kompatibel dengan ACPI 2.0 (hanya jika "ACPI Processor Performance States" tersedia di antarmuka ACPI/BIOS).

T: Laptop saya mendukung penggantian frekuensi, tetapi /sys/devices/system/cpu/cpu0/cpufreq/ kosong.

J: Carilah pesan error terkait ACPI dengan dmesg | grep ACPI. Cobalah untuk memperbarui BIOS anda, terutama jika anda menemukan pesan tentang DSDT yang rusak. Anda juga dapat mencoba untuk memperbaikinya sendiri (tidak dijelaskan pada panduan ini).

T: Laptop saya mendukung penggantian frekuensi, tetapi menurut /proc/cpuinfo, kecepatannya tidak pernah berganti.

J: Kemungkinan anda telah mengaktifkan dukungan SMP di kernel. Nonaktifkan dukungan ini maka anda akan baik-baik saja. Beberapa kernel lama memiliki bug yang menyebabkan masalah ini. Jika benar ini penyebabnya, jalankan emerge x86info, konfigurasikan kernel anda seperti yang telah ditunjukkan lalu periksa frekuensi saat ini dengan x86info -mhz.

T: Saya dapat mengganti frekuensi CPU, tetapi tidak sebebas yang dapat saya lakukan pada OS lain.

J: Anda dapat menggabungkan penggantian frekuensi dengan ACPI throttling untuk mendapatkan frekuensi terendah. Perlu diketahui bahwa throttling tidak menyimpan banyak energi dan biasanya digunakan untuk menurunkan suhu (agar laptop anda tetap dingin dan tidak bising). Anda dapat membaca status throttling saat ini dengan cat /proc/acpi/processor/CPU/throttling lalu ganti dengan echo -n "0:x" > /proc/acpi/processor/CPU/limit, di mana x adalah salah satu dari Tx yang terdapat di /proc/acpi/processor/CPU/throttling.

T: Ketika mengkonfigurasi kernel, governor powersave, performance dan userspace tampil, tetapi ondemand tidak tampil. Mengapa?

J: Governor ondemand hanya terdapat pada source kernel baru. Coba perbarui kernel anda.

T: Ketahanan baterai kelihatannya lebih parah dari sebelumnya.

J: Periksa pengaturan BIOS anda. Mungkin anda lupa mengaktifkan kembali beberapa opsi.

T: Baterai saya penuh, tetapi KDE melaporkan baterai kosong dan langsung melakukan shutdown.

J: Periksa apakah dukungan untuk baterai telah dikompilasi di dalam kernel anda. Jika anda mengkompilasinya sebagai modul, pastikan agar modul tersebut telah dimuat.

T: Logger sistem saya memberikan laporan seperti: "logger: ACPI group battery / action battery is not defined".

J: Pesan ini dihasilkan oleh skrip /etc/acpi/default.sh dari acpid. Anda boleh mengabaikannya. Jika anda ingin menghindarinya, berikan tanda komentar pada baris yang sesuai di /etc/acpi/default.sh seperti berikut:

Daftar Kode 8.1: Menonaktifkan peringatan tentang event acpi yang tidak dikenal

        *)      # logger "ACPI action $action is not defined"

T: Saya menggunakan Dell Inspiron 51XX dan tidak mendapatkan event ACPI apapun.

J: Kelihatannya ini disebabkan oleh bug kernel. Bacalah bug ini.

T: Saya telah mengaktifkan opsi DynamicClocks di xorg.conf tetapi X.org malah crash / layar tetap kosong / laptop saya tidak dapat shutdown dengan benar.

J: Masalah ini terjadi pada beberapa sistem. Anda harus menonaktifkan DynamicClocks.

T: Saya ingin menggunakan TuxOnIce, tetapi saya mendapatkan pesan tentang partisi swap yang terlalu kecil dan saya tidak dapat merubah ukurannya.

J: Jika anda masih memiliki ruang kosong lagi pada harddisk, anda dapat menggunakan filewriter sebagai pengganti swapwriter. hibernate-script mendukung opsi ini. Informasi lebih lanjut bisa anda dapatkan dari /usr/src/linux/Documentation/power/tuxonice.txt.

T: Saya baru saja membeli baterai baru, tetapi baterai ini hanya bisa bertahan beberapa menit saja! Apa yang salah?

J: Pertama ikuti petunjuk cara mengisi ulang baterai dengan benar.

T: Anjuran di atas belum dapat mengatasi masalah. Apa yang harus saya lakukan?

J: Sejumlah baterai dijual sebagai baterai "baru", padahal bukan. Cobalah yang berikut ini:

Daftar Kode 8.2: Memeriksa status baterai

$ grep capacity /proc/acpi/battery/BAT0/info
design capacity:     47520 mWh
last full capacity:  41830 mWh

Jika "last full capacity" berbeda jauh dengan "design capacity", kemungkinan baterai anda rusak. Mintakan garansi anda.

T: Masalah saya tidak dicantumkan di sini. Apa yang harus saya lakukan?

A: Jangan ragu untuk menghubungi penulis, Dennis Nienhüser, secara langsung. Forum Gentoo juga merupakan tempat yang baik untuk mendapatkan bantuan. Jika anda lebih suka menggunakan IRC, bergabunglah di channel #gentoo-laptop di irc.freenode.net.



Print

Diperbarui 31 Januari 2008

Versi asli dari dokumen ini terakhir diupdate 22 September 2011

Rangkuman: Manajemen Power merupakan kunci untuk memperpanjang ketahanan baterai pada komputer jinjing seperti laptop. Panduan ini berisi cara pengaturannya.

Dennis Nienhüser
Author

Chris White
Editor

Dzikri Aziz
Translator

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.