Memahami Konfigurasi TLP
Telah menjadi maklum bagi khalayak umum bahwasanya menggunakan GNU/Linux dalam laptop adalah bagaikan berjudi. Jika beruntung, semua perangkat keras langsung dikenali dan sistem berjalan dengan lancar, namun sebaliknya, sistem Linux akan selalu dirongrong dengan masalah.
Salah satu masalah pelik yang dihadapi pengguna Linux dalam laptop adalah perihal penataan daya (power management). Pengguna komputer desktop tidak akan terlalu peduli soal penggunaan daya karena komputernya selalu terhubung ke sumber daya listrik, sementara laptop sumber dayanya hanya bersandar pada beberapa sel baterai.
Mengapa dukungan penataan daya di GNU/Linux itu lemah? Tidak lain karena rendahnya dukungan vendor perangkat keras. Umumnya vendor perangkat keras hanya membuat driver bagi sistem operasi Microsoft Windows, karena ialah pangsa pasar terbesar sistem operasi. Pangsa pengguna Linux yang kecil tidak menimbulkan minat para pembuat perangkat keras untuk membuatkan driver-nya. Akhirnya ini menjadi seperti lelucon ayam dan telur. Pembuat perangkat keras enggan melirik Linux karena penggunanya sedikit, dan jarang yang bersedia menggunakan Linux karena kurangnya dukungan untuk perangkat keras yang mereka miliki.
Untunglah pengguna GNU/Linux umumnya mau menggaruk kegatalannya sendiri. Awalnya, dukungan penataan daya di laptop tersedia dalam kernel laptop mode, kemudian skrip yang mendayagunakan kernel laptop mode, dan akhirnya ada yang membuat piranti lunak yang lebih berdaya guna sekaligus lebih mudah digunakan.
Saya pernah menulis artikel tentang menghemat daya ThinkPad T520 di Debian Sid dengan menggunakan powertop. Namun kini ada cara yang lebih mudah untuk menata daya di laptop, yakni dengan menggunakan TLP
. Jika dulu Anda pernah mengenal Jupiter, pasti akan paham dengan manfaat TLP
.
Memasang TLP
sangatlah mudah, jadi tidak akan dijabarkan dalam artikel kali ini. Dalam menggunakan TLP
, kita saja pasang dan langsung pakai. Namun agar hasilnya lebih optimal sesuai perangkat keras yang kita pakai, adalah lebih baik untuk kemudian mengatur beberapa pengaturan di berkas /etc/default/tlp
. Pengaturan di dalam berkas tersebut sekilas terlihat banyak dan membingungkan, namun jika kita menyempatkan untuk membacanya, tiap pengaturan selalu diberi sekilas petunjuk akan kegunaan pengaturan tersebut. Jika ternyata masih merasa bingung, silakan rujuk laman http://linrunner.de/en/tlp/docs/tlp-configuration.html.
Jadi, kali ini saya akan mengupas pengaturan-pengaturan dalam berkas konfigurasi TLP
yang sesuai dengan ThinkPad T520 yang kini saya gunakan. Mari…
TLP_ENABLE=1
TLP
tidak memiliki perintah stop atau restart. Jadi bagaimana kalau kita sementara tidak ingin menggunakanTLP
? Di sinilah pengaturannya; beri nilai0
kemudian reboot.TLP_DEFAULT_MODE=AC
Menentukan moda operasi default. Hanya bagi sistem sederhana semacam embedded hardware yang seringkali tidak menyediakan metode deteksi catu daya apa yang kini sedang dipakai. Untuk sistem lengkap seperti laptop atau desktop pengaturan ini tidak diperlukan karena
TLP
bisa menentukannya secara otomatis.DISK_IDLE_SECS_ON_AC=0 DISK_IDLE_SECS_ON_BAT=2
Nilai lebih besar dari 0 akan mengaktifkan kernel laptop mode, jadi tidak perlu untuk mengoprek
DISK_IDLE_SECS_ON_BAT
karena tujuan memasangTLP
tentu salah satunya agar bisa memanfaatkan kernel laptop mode.MAX_LOST_WORK_SECS_ON_AC=15 MAX_LOST_WORK_SECS_ON_BAT=60
Ketika menulis sebuah berkas kemudian menyimpannya, kernel tidak serta-merta menuliskannya ke dalam diska, melainkan menyimpannya sementara ke dalam Page cache. Data-data yang sementara tersimpan dalam Page cache ini dinamakan sebagai dirty pages. Pengaturan
MAX_LOST_WORK_SECS_ON
untuk menentukan berapa lama dirty pages disimpan dalam Page cache. Semakin besar waktu ini, semakin besar pula resiko kehilangan data. Semakin kecil waktu ini, semakin kecil resiko kehilangan data, namun tentunya meningkatkan penggunaaan daya untuk menyapu cache ke dalam diska.CPU_SCALING_GOVERNOR_ON_AC=powersave CPU_SCALING_GOVERNOR_ON_BAT=powersave
Dalam menggunakan komputer, kita tidak selamanya malar berkerja menguras daya komputer, namun sering kali misalnya hanya santai mendengar musik atau membaca buku elektronik. menyikapi ini, CPU juga mengubah frekuensinya menyesuaikan beban kerja. Jika beban kerja meningkat, CPU akan meningkatkan frekuensinya, demikian sebaliknya. Kernel menggunakan scalling governor untuk mengatur (throttling) frekuensi CPU ini.
CPU_SCALING_GOVERNOR
akan menentukan frequency scaling untuk scalling governor dari CPU. Pengaturannya bergantung pada driver yang digunakan sistem.
Gunakan perintahsudo tlp-stat -p
untuk melihat scaling driver apa yang digunakan sistem.Prosesor ThinkPad T520 yang saya miliki adalah Intel Core i generasi kedua (Sandy Bridge), dan menurut
tlp-stat
menggunakan driverintel_pstate
. Governor yang didukung untuk prosesor ini adalahpowersave
danperformance
, namunTLP
lebih menyarankan pengaturan padaCPU_MIN/MAX_PERF
.CPU_MIN_PERF_ON_AC=0 CPU_MAX_PERF_ON_AC=100 CPU_MIN_PERF_ON_BAT=0 CPU_MAX_PERF_ON_BAT=50
Pengaturan performance CPU ini yang lebih disarankan bagi prosesor yang menggunakan driver
intel_pstate
.CPU_BOOST_ON_AC=1 CPU_BOOST_ON_BAT=0
Pengaturan khusus untuk prosesor Intel Core i berkemampuan Turbo boost.
SCHED_POWERSAVE_ON_AC=0 SCHED_POWERSAVE_ON_BAT=1
Prosesor modern memiliki kemampuan hyperthreading yang seakan menyediakan kinerja setara lebih banyak inti (multi core) dibanding inti fisik yang dimiliki.
SCHED_POWERSAVE
akan meminimalkan penggunaan inti prosesor ketika bebannya rendah.ENERGY_PERF_POLICY_ON_AC=performance ENERGY_PERF_POLICY_ON_BAT=powersave
Menentukan garis besar kompromi antara penghematan daya dan kinerja CPU. Bagaimana agar kinerja CPU tinggi namun penggunaan dayanya rendah.
Pengaturan ini memerlukan modul kernelmsr
dan perkakasx86_energy_perf_policy
yang sesuai dengan versi kernel.NMI_WATCHDOG=0
Sepertinya ini tidak terlalu penting bagi saya. Silakan baca artikel Wikipedia mengenai NMI.
DISK_DEVICES="ata-PLEXTOR_PX-256M5S_P02302102450 ata-TOSHIBA_MQ01ABD100_X3TOP6YUT"
Pengaturan perangkat penyimpanan yang diinginkan untuk diatur oleh
TLP
. ThinkPad saya selain menggunakan SSD di main bay, juga menggunakan HDD di ultra bay yang bisa dicopot-pasang dan ganti HDD, jadi penulisan sda, sdb, dan sejenisnya tidak memadai dan ada kemungkinan tertukar. Lebih baik untuk menggunakan UUID sebagai penanda HDD. Gunakantlp diskid
untuk mengetahui ID masing-masing diska.DISK_APM_LEVEL_ON_AC="254 254" DISK_APM_LEVEL_ON_BAT="254 128"
Advanced Power Management Level bagi diska. Jika menggunakan AC, saya tetapkan APM ke 254 atau maximum performance. Jika laptop menggunakan baterai, saya tetapkan diska 1 yang SSD ke max performance dan diska 2 yang HHD ke 128 sebagai kompromi penghematan daya dan kinerja. Diska 2 ini berupa HDD berisi data yang jarang diakses.
DISK_SPINDOWN_TIMEOUT_ON_AC="0 120" DISK_SPINDOWN_TIMEOUT_ON_BAT="0 120"
Menurunkan putaran piringan HDD jika sedang tidak digunakan, dalam satuan 5 detik. Karena diska 1 saya berupa SSD yang tidak memiliki komponen bergerak, tidak diperlukan pengaturan spin down. Nilai 120 atau 10 menit ditentukan untuk HDD di ultra bay agar jika dalam 10 menit tidak digunakan ia akan menurunkan putaran kepingannya untuk menghemat daya.
DISK_IOSCHED="noop cfq"
I/O scheduler adalah penjadwalan penulisan data dari cache ke diska. Sarana penyimpanan data yang paling umum digunakan adalah hard disk drive yang berupa piringan magnetik penyimpan data dan lengan penyimpan/pembaca data. Untuk menuliskan data, lengan penyimpan harus bergerak menuju sektor dalam piringan yang bisa ditulisi, dan ini membutuhkan waktu (seek time). Untuk meminimalkan akibat dari seek time ini, maka diterapkan sebuah sistem penjadwalan penulisan dan pembacaan data, yakni I/O scheduler. Untuk SSD saya menggunakan
noop
karena ia tidak memiliki komponen begerak dan data bisa langsung dituliskan, sementara untuk HDD saya menggunakancfq
.SATA_LINKPWR_ON_AC=max_performance SATA_LINKPWR_ON_BAT=max_performance
Ini mengatur SATA Agressive Link Power Management yang memungkinkan jalur SATA untuk berpindah ke moda low-power kitika sedang tidak digunakan. Kerugiannya, ALPM menimbulkan jeda karena diska mesti diaktifkan ulang ketika hendak dipakai. Saya lebih memilih max_performance karena lebih banyak menggunakan SSD yang sudah hemat daya.
AHCI_RUNTIME_PM_TIMEOUT=15
AHCI masih berkaitan dengan jalur data ke diska.
AHCI_RUNTIME_PM
untuk mengatur tenggat waktu sebelum diska suspended.PCIE_ASPM_ON_AC=performance PCIE_ASPM_ON_BAT=powersave
Ini untuk mengatur Active State Power Management dari perangkat PCIe. Sepertinya tidak ada perangkat PCIe terpasang di T520 ini, tapi tak apa lah…
WIFI_PWR_ON_AC=off WIFI_PWR_ON_BAT=on
Pengaturan hemat daya bagi perangkat wrieless fidelity. Tidak tahu juga apakah wi-fi T520 mendukung moda ini, tapi berhubung jarang menggunakan wi-fi kecuali jika tethering ke telepon seluler, sepertinya tiada rugi untuk menggunakan pengaturannya ini.
WOL_DISABLE=Y
Wake on LAN adalah fungsi siaga komputer agar bisa dibangunkan ketika menerima perintah untuk bangun dari LAN. Ini cocoknya hanya untuk komputer perkantoran atau rumah yang memiliki jaringan. Jangankan wake on LAN, menggunakan LAN pun saya jarang.
SOUND_POWER_SAVE_ON_AC=0 SOUND_POWER_SAVE_ON_BAT=1
Hemat daya untuk sistem audio Intel HDA. Ada kemungkinan menimbulkan gangguan “clicking” pada suara.
SOUND_POWER_SAVE_CONTROLLER=Y
Matikan daya chip suara ketika tidak aktif. Khusus Intel HDA.
BAY_POWEROFF_ON_BAT=1
Putuskan daya ke ultra bay. Pengaturan hanya berpengaruh terhadap kandar optik. Jika ultra bay diganti caddy berisi diska, pengaturan ini tidak berpengaruh terhadap diska tersebut.
BAY_DEVICE=sr0
PATH merujuk kandar optik, biasanya di
/dev/sr0
.RUNTIME_PM_ON_AC=on RUNTIME_PM_ON_BAT=auto
Saya tidak terlalu paham soal runtime power management untuk PCIe ini. Lagi pula sepertinya tidak punya perangkat yang memakai PCIe.
RUNTIME_PM_ALL=1
Idem.
USB_AUTOSUSPEND=1
Putuskan daya ke perangkat USB jika dalam selang waktu tertentu tidak digunakan.
USB_BLACKLIST="2717:ff60"
Kecualikan perangkat tertentu agar dayanya jangan diputus (USB autosuspend) walau lama tidak aktif. Misal saya sering mengisi baterai telepon seluler di TP520 ini.
Cari ID menggunakan perintahlsusb
. Jika ada banyak perangkat yang hendak blacklisted, pisahkan ID oleh spasi.USB_BLACKLIST_WWAN=1
Ini khusus bagi pengguna modem wireless wide area network, agar modemnya tidak diputus daya walau tidak sedang digunakan. Kalau memang perlu mematikan network, T520 menyediakan sebuah saklar untuk mematikan perangkat radio secara fisik.
RESTORE_DEVICE_STATE_ON_STARTUP=0
Kadang saya langsung mematikan laptop begitu saja tanpa mematikan perangkat radionya terlebih dahulu. Dan jika laptop dihidupkan, yang saya inginkan hanyalah agar semua perangkat radio mati, tidak ada yang hidup dan berupaya terhubung ke internet.
DEVICES_TO_DISABLE_ON_STARTUP="wifi wwan"
I don’t want a surprise. Sambungan internet terjalin jika saya memang menginginkannya. No automated connection.
START_CHARGE_THRESH_BAT0=75 STOP_CHARGE_THRESH_BAT0=80
Ada banyak pro-kontra mengenai perlunya perlakuan start/stop charging pada baterai. Sejujurnya saya juga tidak tahu banyak, kecuali bahwa charge cycle baterai itu terbatas dan panas menurunkan mutu baterai.
Menjaga agar pengisian baterai tidak sampai penuh dan pemakaian tidak sampai tandas akan menjaga charge cycle/cycle count tetap rendah. Demikian juga dengan tidak tetap mengisi baterai padahal telah penuh akan menurunkan suhu di dalam baterai (sepertinya laptop modern memiliki cara pemutus pengisian jika baterai telah penuh).
Mengabaikan silang pendapat, saya atur agar baterai mulai diisi jika kapasitasnya turun hingga 75% dan mulai diisi jika kapasitanya mencapai 80%.START_CHARGE_THRESH_BAT1=75 STOP_CHARGE_THRESH_BAT1=80
Idem. Hanya saja ini untuk baterai tambahan (slice battery), yang kadang saya gunakan ketika tidak ada listrik PLN.
Demikian, sementara hanya itu. Mungkin ada pengaturan yang terlewat atau sengaja saya lewat baik karena tidak paham gunanya atau memang dirasa tidak berguna untuk ThinkPad T520 yang saya pakai.
Jika artikel ini terasa membingungkan, jangan menyurutkan niat menggunakan TLP
. It’s an amazing tool. Pengaturan default sudah cukup bagi penggunaan laptop secara umum.