Menghemat Baterai Dengan Edit Sysctl (Tweaking)
Minggu, 04 Juni 2017
Android boros baterai? Apakah tips menghemat baterai anda rasa hanya kuat kecil? Tweak ini membutuhkan sysctl.conf. Apa sih sysctl.conf ini?
Karena Android berbasis linux, sama ibarat di linux, di android juga terdapat file berjulukan sysctl.conf yang berisi parameter kernel. Dengan aplikasi Sysctl Config di android, kita sanggup memodifikasi file sysctl.conf di handheld kita untuk meningkatkan performa dan memperpanjang umur batere. Maksudnya, disini menciptakan batere tidak cepat habis/boros.
Dalam pengaturan sysctl tidak tetap sesudah reboot, sehingga kita sanggup me-remount adb kemudian menciptakan sebuah file sysctl.conf pada pc kita dengan pengaturan ini, maka. / Adb push sysctl.conf / etc / maka kernel harus menerapkan pengaturan setiap reboot
Perlu diingat tweak ini tidak akan mempengaruhi hasil benchmark ibarat quadrant benchmark.
Benchmark lebih ke arah hardware dan tidak dipengaruhi oleh tweak ini.
Sebagai contoh, sebelum saya memodifikasi dengan Sysctl, android anda dengan pemakaian standar, dikala jam 6 pagi anda cabut dari charger, jam 6 sore anda dikala pulang batere tersisa 20%. Setelah dimodifikasi, jam 6 sore anda dikala pulang batere masih tersisa 50-60% .
Sekali lagi saya ingatkan Tweaking berbeda dengan Overclocking, OC lebih mengacu pribadi ke Hardware sementara tweak lebih ke script yang mendorong kinerja secara keseluruhan
CARA I (Mudah-menengah)
Buka Terminal dan Jalankan perintah ini sebagai root.
Sebelum memulai mari kita ketahui wacana sysctl.
Sysctl Config yaitu aplikasi utilitas yang biasanya terdapat di ROM2 custom terbaru atau anda sanggup mendapatkannya secara gratis di android market.
Apa gunanya? Gunanya yaitu untuk tweaking file Sysctl.conf dengan cara yang lebih ke brainware (anda).
Apa saja yang dibutuhkan?
1.Handheld Android (pastinya) sudah Root
2.Terinstall Busybox.
Nah kini kita bahas per poin parameter.
>>>Min Free KBytes (vm.min_free_kbytes), ini dipakai untuk menciptakan Virtual Memory (VM) Linux mempertahankan nilai minimum kilobytes. VM menggunakannya untuk menghitung nilai pages_min untuk setiap zona low memory dalam sistem. Setiap zona low memory dalam sistem memiliki nilai free pages cadangan yang sesuai dengan ukurannya sendiri-sendiri. Nilai default poin ini yaitu 2048 (bisa berbeda tergantung devicenya).
>>>Dirty Ratio (vm.dirty_ratio) dan Dirty Background Ratio (vm.dirty_background_ratio) berfungsi mengontrol seberapa sering kernel menulis data ke disk (disk dalam hal ini yaitu internal sd card di sistem/handheld, bukan external sd card). Ketika aplikasi-aplikasi menulis data ke disk, Linux gotong royong tidak menulis data pribadi ke disk, tetapi linux menulisnya ke system memory dan kernel menangani kapan dan bagaimana data tersebut dimasukkan ke disk. Nilai dalam sysctl mempresentasikan prosentase, lebih tinggi prosentase yang sampeyan masukkan, lebih usang menunggu data di masukkan ke disk, sebaliknya, semakin rendah nilai prosentase yang sampeyan masukkan, data lebih sering dimasukkan ke disk. Sekarang kita ingat2 lagi, kita berhadapan dengan internal disk yaitu solid state disk, bukan disk dengan sistem piringan ibarat harddisk di komputer, jadi kita sanggup menahan sistem memasukkan data ke disk lebih usang daripada di disk dengan sistem piringan.(catatan kenapa memakai istilah linux? Karena android itu dasarnya dari linux)
>>>VFS Cache Pressure (vm.vfs_cache_pressure), nah . yang ini menarik, cache file sistem (dentry/inode) lebih penting daripada block cache dalam dirty ratio dan dirty background ratio, jadi kita menginginkan kernel untuk memakai lebih banyak RAM untuk cache file sistem. Ini akan meningkatkan performa sistem tanpa mengorbankan performa pada level aplikasi. Nilai defaultnya yaitu 100 (dalam prosentase), yang harus dilakukan yaitu merubah prosentasenya lebih rendah untuk memberitahukan kernel biar mendukung cache file sistem dan tidak men-drop-nya secara tiba-tiba.
>>>Oom Allocating Task (vm.oom_kill_allocating_task) di Sysctl diberikan opsi centang maksudnya diaktifkan atau tidak atau merepresentasikan nilai 1″ / 0″ atau On/Off.
Fitur ini dipakai untuk mengaktifkan atau tidak trigger untuk killing task pada situasi OOM (Out Of Memory). Kalau ini tidak dicentang/diaktifkan, OOM Killer akan memindai seluruh daftar task dan menentukan task yang akan di kill menurut heuristik (silahkan googling artinya hehe). Biasanya OOM akan menentukan task yang memakan banyak memori (rogue memory hogging) dimana kalau di kill akan melegakan memory dalam jumlah besar. Bila poin ini di aktifkan/dicentang, maka OOM Killer akan meng-kill aplikasi yang memicu kondisi OOM. Ini meminimalisir pemindaian task dimana sanggup menimbulkan sistem hang atau freeze.
Nilai2 yang harus anda masukan pada Sysctl Config? Tergantung hardware dan kenyamanan masing2.
Intinya silahkan coba nilai satu persatu. Dengan mengaktifan Sysctl, biarkan anda mencoba konfigurasi default selama 1-2 hari, kalau dirasa kurang, silahkan dirubah-rubah nilainya. Ini yaitu pola parameter kernel yang digunakan.
Min Free KBytes: 4096
Dirty Ratio: 90
Dirty Background Ratio: 70
VFS Cache Pressure: 1
Oom Allocating Task: Aktif, atau nilainya 1 (0=tidak aktif)
Hasilnya ibarat yang dijelaskan diatas tadi.
CARA II (Mudah-menengah)
Anda sanggup juga memakai ROM Toolbox
1.Download disini dan install ROM Toolbox Pro v4.4.4
2.Jika meminta ijin dari superuser anda klik "allow"
3.Masuk opsi performance>Kernel tweak>
4.Di Opsi sysctl conf anda sanggup mengetik parameter yang anda mau
CARA III (Expert)
Untuk pola sysctl.conf sanggup anda cari di google : disini
Buka Terminal dan Jalankan perintah ini sebagai root
Tweak memori virtual untuk menghemat daya dikala berjalan pada baterai:
kode:
echo 0 > /proc/sys/vm/swappiness #can be ignored if you dont use swap
echo 0 > /proc/sys/vm/dirty_expire_centisecs #can be ignored if you dont use swap
echo 0 > /proc/sys/vm/dirty_writeback_centisecs #can be ignored if you dont use swap
echo 60 > /proc/sys/vm/dirty_background_ratio
echo 95 > /proc/sys/vm/dirty_ratio
Tweak memori virtual dikala anda Charger:
kode:
echo 0 > /proc/sys/vm/swappiness #can be ignored if you dont use swap
echo 3000 > /proc/sys/vm/dirty_expire_centisecs #can be ignored if you dont use swap
echo 500 > /proc/sys/vm/dirty_writeback_centisecs #can be ignored if you dont use swap
echo 10 > /proc/sys/vm/dirty_background_ratio
echo 40 > /proc/sys/vm/dirty_ratio
Mendeteksi apps / jasa yang memerlukan kinerja lebih pada baterai / cpu:
Disini mengambarkan bahwa kinerja yang memerlukan energi baterai lebih, untuk itu Anda harus menghentikan semua aplikasi yang tidak benar-benar jalan/siaga kalau Anda tidak memakai mereka.
Jika Anda ingin menemukan aplikasi yang sedang dalam masa siaga namun anda tidak memerlukan, maka Anda sanggup menggunakan:
kode:
strace -p $(pidof yourapp) # for all your running applications
ps aux | awk '{print$10,$11}' | sort -n # will list all running softs sorted by used cpu time
Secara default dikala android kehabisan memori untuk menjalankan aplikasi melalui daftar proses maka android mulai membunuh proses yang ia kira memakai terlalu banyak memori. Sysctl ini menciptakan android membunuh proses pelarian yang menciptakan sistem kehabisan memori bukan, yang biasanya apa yang Anda inginkan. (Ini juga akan mengurangi waktu cpu dan meningkatkan penggunaan baterai).
kode:
sysctl-w vm.oom_kill_allocating_task = 1
vfs_cache_pressure hingga 10, menunjukkan lebih banyak masukan ke tembolok fs dan inode untuk menghemat cpu
Pada nilai default dari vfs_cache_pressure = 100 kernel akan mencoba untuk merebut kembali dentries dan inode pada tingkat "adil" sehubungan dengan pagecache dan swapcache(sistem simpan perintah sementara) kembali. Penurunan vfs_cache_pressure menimbulkan kernel untuk lebih menentukan untuk mempertahankan dentry dan cache inode. Meningkatkan vfs_cache_pressure melampaui 100 menimbulkan kernel untuk lebih menentukan untuk merebut kembali dentries dan inode.
kode:
sysctl-w vm.vfs_cache_pressure = 10
NB: Anda sanggup memasukan semua ini dengan /ADB shell atau terminal emulator pada android anda.