Panduan Manajemen Power
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 |
 |
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
RUNLEVEL_AC="default"
RUNLEVEL_BATTERY="battery"
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 |
event=ac_adapter.*
action=/etc/acpi/actions/pmg_switch_runlevel.sh %e
|
Daftar Kode 2.9: /etc/acpi/events/pmg_battery |
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 |
/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"
Option "standby time" "10"
Option "suspend time" "20"
Option "off time" "30"
[...]
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 |
# 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 |
BRIGHTNESS_AC=7
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 --->
[*] Software Suspend
(/dev/SWAP) Default resume partition
Enhanced Hibernation (TuxOnIce)
--- Image Storage (you need at least one writer)
[*] File Writer
[*] Swap Writer
--- General Options
[*] LZF image compression
(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
# 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
# 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
# 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.
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|