Bagi yang punya android seharusnya bisa lebih bangga, karena dengan punya hp android, kalian tidak perlu membeli hp baru untuk "Menambah" performa serta mendapatkan OS terbaru, beda dengan yang sebelah sana hehehe.
Kenapa ? karena Android berbasis linux serta open source, sehingga memudahkan kita dalam memodifikasi sistem sesuai keinginan kita, mulai dari System (Seperti build.prop, lowmemorykiller, dan Virtual Memory), dan Tampilan (Seperti Custom Rom, dan Tema).
Dan untuk mendapatkan bahannya itu juga sangat-sangat mudah, karena developernya sudah banyak, dan bahannya gratis pula, contohnya sobat bisa mencari bahan di xda-developer.
Maka dari itu, memang gak akan nyesel deh kalo beli hp android.
Bicara soal memodifikasi sistem, kali ini saya mempunya topik artikel, serta diskusi yang bagus banget nih, yaitu Mempelajari kernel di android.
Dan sebelumnya, ini lah susunan materi belajar kernel kali ini :
A. Apa itu Kernel di Android
B. Kenapa kernel bisa di modifikasi
C. Akses untuk memodifikasi Kernel di Android
D. Susunan umum untuk memodifikasi kernel di Android
E. Ngebutz MOD
F. Kernel adiutor
G. Apa yang perlu, dan tidak perlu di optimasi
Jadi, ayo kita belajar.
A. Lalu, Apa itu Kernel atau Apa itu Kernel di Android ?
xda
Secara singkat, Kernel adalah inti dari sebuah sistem operasi yang ada di sebuah perangkat, mau itu pc atau android, pasti memiliki kernel.
Kemudian, supaya kita bisa berinteraksi dengan kernel, maka terdapat shell yang akan menjembatani kita dengan kernel, dan shell itu merupakan bahasa linux yang akan kalian temui.
Dan caranya itu, kalo di pc menggunakan cmd, dan di android menggunakan terminal, maka dari itu jika kalian mencoba terminal atau cmd, maka untuk mengaksesnya, kalian akan memasukan perintah seperti cd, mkdir, dan sebagainya.
Serta, di android khususnya, kernel itu terbagi 2, yaitu stock kernel, dan custom kernel, dan bedanya apa ???.
#A. Stock Kernel itu umumnya terdapat pada Stock Rom, sehingga value yang terdapat pada kernel itu sendiri adalah bawaan, dan setelan pabrik.
#B. Custom Kernel itu adalah kernel yang valuenya sudah di modifkasi oleh developer dari luar pabrik, dan bisa di pasangkan ke dalam Custom atau Stock ROM selama dia support.
Nah biasanya, yang di modif adalah kecepatan processor, optimasi ram, gpu, system.prop, dan lain sebagainya selama masih di dalam ruang lingkup kernel itu sendiri.
B. Terus Kenapa kok kernel di android bisa di modifikasi ?
dorylabs
Jadi mau itu stock kernel atau custom kernel, pasti bisa di modifikasi selama kita punya akses ke dalam kernel itu sendiri.
C. Dan akses yang seperti apa ?
google
Plus juga aplikasi tambahan yang dapat memudahkan kita dalam memodifikasi kernel.
Dan perlu di ketahui juga, dalam memodifikasi value itu, bisa melalui 3 cara, yaitu :
#1. Modif sendiri menggunakan aplikasi file explorer (Contoh : MT Manager, dan Root Browser)
#2. Menggunakan aplikasi kernel editor (Contoh : Kernel adiutor)
#3. Modif secara otomatis menggunakan aplikasi tweaks (Contoh : Ngebutz MOD, L Speed, dan HEBF)
Ketiga cara di atas adalah yang paling umum di lakukan karena sangat mudah, kemudian aksesnya juga gampang, serta tidak memakan banyak waktu.
Saya sendiri pun sering memodifikasi kernel android, karena saya telah membuat tweaks yang bertugas untuk mengoptimasi kinerja kernel, yaitu Ngebutz MOD.
Tapi saya akui, cara yang lebih mudah dalam memodifikasi kernel itu adalah menggunakan aplikasi seperti L Speed, atau HEBF, karena sudah berbentuk aplikasi, dan tinggal enable dan disable saja.
Kemudian....
Dalam memodifikasi value task kernel di android itu, kita tidak boleh asal setting, karena ingat, kernel itu inti dari sistem operasi, ada kesalahan sedikit ya pasti langsung ngehang hpnya.
Jadi sebelum memodifikasi, kita harus tau dulu susunan serta struktur dari kernel itu sendiri, supaya kita bisa lebih mudah dalam menentukan mana yang harus di modifikasi dan mana yang tidak.
D. Susunan umum untuk memodifikasi kernel di android
youtube
Di sini saya hanya akan menggunakan susunan, atau bagian yang paling umum di gunakan dalam memodifikasi kernel di android.Serta, kalian perlu ketahui juga nih, kalo kernel itu susunannya bercabang.
Jadi kalian harus paham, minimal cara untuk menyusun yang bercabang tadi menjadi satu.
Dan dalam memodifikasi kernel android, minimal kalian akan bertemu ini :
- Low memory killer
- Virtual Memory
- Build.prop
- I/O Scheduler
- CPU
- GPU
- Entropy Pool & Entropy
#A. Susunan FS :
- aio-max-nr
- aio-nr
- dentry-state
- dquot-max
- dquot-nr
- file-max
- file-nr
- inode-max
- inode-nr
- inode-state
- nr_open
- overflowuid
- overflowgid
- pipe-user-pages-hard
- pipe-user-pages-soft
- protected_fifos
- protected_hardlinks
- protected_regular
- protected_symlinks
- suid_dumpable
- super-max
- super-nr
- dirty_background_bytes
- dirty_background_ratio
- dirty_bytes
- dirty_expire_centisecs
- dirty_ratio
- dirtytime_expire_seconds
- dirty_writeback_centisecs
- drop_caches
- laptop_mode
- min_free_kbytes
- min_slab_ratio
- min_unmapped_ratio
- nr_hugepages
- nr_hugepages_mempolicy
- nr_overcommit_hugepages
- nr_trim_pages
- oom_dump_tasks
- oom_kill_allocating_task
- overcommit_kbytes
- overcommit_memory
- overcommit_ratio
- page-cluster
- panic_on_oom
- user_reserve_kbytes
- vfs_cache_pressure
#C. Susunan Kernel :
- domainname
- hostname
- hotplug
- hardlockup_all_cpu_backtrace
- hardlockup_panic
- hung_task_panic
- hung_task_check_count
- hung_task_timeout_secs
- hung_task_check_interval_secs
- hung_task_warnings
- hyperv_record_panic_msg
- msgmax
- msgmnb
- msgmni
- nmi_watchdog
- osrelease
- ostype
- overflowgid
- overflowuid
- panic
- panic_on_oops
- shmall
- shmmax
- shmmni
- threads-max
- unknown_nmi_panic
- watchdog
- watchdog_thresh
Dan selanjutnya saya akan mengambil contoh dengan menjelaskan beberapa isi dari Ngebutz MOD, dan Kernel adiutor, karena berhubungan dengan susunan di atas.
E. Ngebutz MOD
Kita mulai dari Ngebutz MOD, Tweak untuk optimasi Android buatan anak indonesia.
#A. isi dari Disable Kernel Panic adalah kode berikut ini :
$busybox echo "0" > /proc/sys/kernel/panic
Di atas adalah waktu yang saya set ketika terjadi kernel panic, yang terjadi akibat "software watchdog", nah kenapa saya atur jadi 0 ? begini ceritanya.
Ketika kernel mengalami panic, maka akan mentrigger sistem untuk melakukan reboot, nah saya langsung set 0, agar tidak perlu menunggu reboot, jadi ketika kernel panic, maka saat itu juga sistem langsung reboot.
min 0, dan max 60
#B. isi dari Kernel Optimizer
Yaitu mengatur inotify watches yang berguna untuk memonitor file sistem, biasanya yang di monitor itu adalah yang paling banyak mengambil valuenya (consume).
$busybox echo "10240" > /proc/sys/fs/inotify/max_user_watches
Nah di sini valuenya adalah 10240, padahal kalo defaultnya adalah 8192, kenapa ? karena itu adalah limit bawaan pabrik jadi inotify watches tidak akan lebih dari 8192, sehingga saya tambahkan 1024.
Dan rumusnya adalah 1024 * n
Kemudian satu lagi yaitu lease breake time pada bagian fs, :
$busybox echo "10" > /proc/sys/fs/lease-break-time;
Nah di sini valuenya 10, padahal awalnya 45, kenapa ? karena lease break time adalah task yang di gunakan untuk menahan file sebelum di konfirmasi kernel, supaya cepat maka dari itu saya kecilkan valuenya
JADI APA KESIMPULANNYA ?
Dalam mentweak sistem, pertama sekali kalian harus tau apa yang kalian lakukan, mau itu yang di tweak bagian proc, sys, vm, dan fs, kalo main asal setting saya jamin langsung down performa hp kalian.
Jadi, sebelum mengatur value untuk masing-masing task, kalian harus lakukan ini dulu :
- Cari keterangannya di gugel, atau di website kernel.org dan redhat
- Lalu lihat berapa value awalnya
- Kemudian fungsinya apa
- Bisa di tingkatkan atau tidak
- Apa pengaruhnya ke sistem
- Pahami kalkulasinya, contohnya kenapa max-user-watches bisa dapet 8192, dan kenapa harus di tambah 1024.
Okeh kita next ke yang bentuk aplikasi :
F. Kernel adiutor
Nah untuk kernel adiutor, sepertinya tidak akan saya jelaskan panjang lebar, karena penjelasanya sudah di sediakan.
Jadi kalian cukup pahami saja penjelasan dalam bahasa inggrisnya, hehehe.
Dan sekarang saya ingin menjabarkan bagian CPU saja, karena lebih mudah di pahami.
#A. CPU MAX/MIN Frequency
Di gunakan dalam mengatur kecepatan processor hp dalam satuan MHz, max adalah yang tertinggi dan min adalah yang terendah.
Bagian ini bisa di gunakan untuk Overclock, dan Downclock speed processor.
Lalu gimana cara mengaturnya ?.
Pertama kalian perlu tau, kalo max itu tertinggi, dan min terendah, jadi max gak boleh lebih kecil dari min, begitu juga sebaliknya.
Jika kalian overclock, maka atur yang bagian minnya saja menjadi 1 sampai 3 point di bawah value max.
Bingung ? oke saya contohkan begini.
Misalnya kecepatan processor sobat itu 1 Mhz - 5Mhz, maka tingkatannya adalah :
1 - 2 - 3 - 4 - 5.
Min valuenya adalah = 1 MHz
Max valuenya adalah = 5 MHz
Nah untuk overclock, ubah min menjadi 3 atau 4, atau bisa juga ubah max menjadi 4, dan min menjadi 3, asalkan min jangan melebihi max.
Dan untuk downclock, cukup max lah yang di turunkan valuenya.
Nah sekarang mari kita bahas Governor atau CPU Governors.
#B. CPU Governors
Di gunakan untuk mengatur prilaku cpu dalam optimasi clock, dan workload, makin sadis settingannya, makin sadis juga prilaku cpu.
Umumnya, bawaan pabrik itu menggunakan settingan Interactive, Conservative, dan Ondemand, tapi kalo kalian menggunakan custom kernel, maka kalian akan menjumpai Lion, Smartass V, Interactive X, dan masih banyak lagi.
Dan untuk mengaturnya itu cukup mudah, karena kalian cukup baca pengertian dari masing-masing pilihan governorsnya, dan kalo sudah ketemu yang cocok, bisa langsung kalian terapkan.
Untuk melihatnya bisa kunjungi web ini :
https://www.google.com/amp/s/forum.xda-developers.com/general/general/ref-to-date-guide-cpu-governors-o-t3048957/amp/
#C. CPU Governors Tunable
Nah kalo ini, di gunakan untuk mentweak value dari task governors yang sobat pilih, karena SETIAP governors itu settingannya pasti berbeda, jadi sobat bisa meracik sendiri sampai menemukan settingan yang pas.
#D. Multicore Power Saving
Kalo MPS ini, seingat saya hanya ada untuk qualcomm, yang berfungsi untuk meminimalkan penggunaan core dalam mengolah proses yang berjalan.
Kalo ini di aktifkan, pasti langsung ada efek glitch sedikit, dan performa menurun, tapi baterai jadi lebih hemat.
G. Sehingga, apa saja yang harus dan yang tidak perlu di optimasi
Dalam kasus ini, pertama kita perlu tau dulu apa yang di butuhkan oleh hp sobat, kalo performa, maka sobat harus setting performa.
Lalu apa yang harus di lakukan ?.
#A. Kalo sobat mau lebih mudah, sobat bisa langsung menggunakan aplikasi seperti L Speed, dan HEBF, karena opsinya sudah ada performa, medium, battery, kemudian sudah ada profile yang membuat kita lebih mudah dalam menentukan settingan.
#B. Kalo ilmu sobat sudah "LUMAYAN" maka saya sarankan menggunakan kernel adiutor saja, karena opsinya lebih tertarget, dan lebih banyak pilihan dalam memodifikasi value pada task kernelnya.
Dan untuk bisa menggunakan kernel adiutor, saya sarankan sobat belajar dulu mengenai task yang ada di kernel.
Biar lebih mudah, sobat pahami dulu susunan yang sudah saya berikan pada poin D tadi, atau sobat bisa langsung mengunjungi link di bawah untuk mengetahui lebih detailnya :
fs :
https://www.kernel.org/doc/Documentation/sysctl/fs.txt
Kernel :
https://www.kernel.org/doc/Documentation/sysctl/kernel.txt
Virtual Memory :
https://www.kernel.org/doc/Documentation/sysctl/vm.txt
#C. Kalo ilmu sobat sudah lebih luas, maka saya sarankan membuat tweak sendiri seperti saya, supaya tidak hanya bisa mengoptimasi hp sobat nantinya, tapi bisa mengoptimasi hp banyak orang.
Dan supaya bisa menemukan apa yang perlu, dan tidak di optimasi itu, logikannya seperti ini, cari yang sekiranya menurut sobat paling berpengaruh ke sistem, kita ambil saja CPU.
Nah, ketika sobat ingin performa hpnya naik, maka langsung aja deh di overclock seperti cara di atas tadi, kemudian aktifkan governor yang sekiranya dapat mendongkrak performa, misalnya SmartAss, atau InteractiveX.
Karena sobat fokus ke performa, maka perlu gak Multicore Power Saving di aktifkan ?.
Jawabannya jelas tidak, karena MPS tadi akan mempengaruhi penggunaan core yang akan menyebabkan melambatnya performa hp sobat.
Kurang lebih, seperti itu gambaran dalam menemukan settingan yang pas.
Terakhir....
Saya menyarankan sobat belajar itu semua, karena di kernel adiutor itu langsung menggunakan real value, jadi agak bahaya kalo sobat buta arah, yang akhirnya akan menyebabkan hp sobat menjadi hang.
Lalu, jangan lupa juga pelajari bahasa inggris, karena saya sering ketemu sama pembaca yang kurang mengerti, jadi agak susah juga kalo mau ngarahinnya.
Nah, kurang lebih cukup dulu artikel kali ini, karena kalo makin panjang lagi yang ada sobat malah bosen bacanya, hehehe.
Dan bagi yang ingin ngobrol bareng saya, dan opreker lain dari seluruh indonesia, yuk join grup telegram Cuman Android, GRATIS 100%.
Link :
https://t.me/joinchat/IOuSQwwN9M8r9em-c6WqCg
Ayo buruan join, masa gak mau ilmu gratis, hehehe.
Kami tunggu.
Sekian, sampai jumpa di artikel selanjutnya.
Nyesel loh kalo gak nanya ;)
EmoticonEmoticon