Saat setelah kita membeli hardware atau laptop baru kemudian kita install suatu operating sistem didalamnya dan kemudian bisa di operasikan laptop kita. Terkadang kita sudah selesai sampai disitu saja. Padahal saat anda melakukan install operating system pada contoh kasus disini adalah linux. Maka anda juga harus mengecek apakah hardware yang anda beli sudah benar sesuai dengan brosur. Pada kasus ini saya ingin fokus pada CPU terlebih dahulu.
Checking
Untuk mengeceknya dalam linux dengan command cat /proc/cpuinfo
[root@localhost local]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz stepping : 1 microcode : 0x17 cpu MHz : 799.968 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt bugs : bogomips : 4788.94 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz stepping : 1 microcode : 0x17 cpu MHz : 799.968 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt bugs : bogomips : 4788.94 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz stepping : 1 microcode : 0x17 cpu MHz : 799.968 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 2 initial apicid : 2 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt bugs : bogomips : 4788.94 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz stepping : 1 microcode : 0x17 cpu MHz : 800.062 cache size : 3072 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 3 initial apicid : 3 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt bugs : bogomips : 4788.94 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:Disana tertulis bahwa model name CPU saya adalah Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz. Padahal dibrosur tertulis dengan embel-embel with Turbo Boost up to 2.7GHz. Kalo anda tidak melakukan pengecekan mendetail apakah benar laptop anda sudah memanfaatkan turbo boost tersebut maka anda bisa saja rugi karena anda tidak memanfaatkan feature tersebut. Pada contoh kasus saya disini, saya menginstall laptop saya dengan fedora release 20 dan kernel 3.19.8-100.fc20.x86_64. Kebetulan sekali pada kernel versi 3.19 itu secara default sudah menggunakan module intel_pstate untuk driver power scaling nya. Sehingga memudahkan kita untuk melakukan check turbo boost saya dengan command
[root@localhost local]# cat /sys/devices/system/cpu/intel_pstate/no_turbo 0kalo 0 itu berarti memakai turbo boost. kalo 1 maka kita tidak memakai turbo boost.
Testing
Kemudian cara melakukan testing pada laptop kita adalah
1. buka terminal baru dan ketikan command ini
watch -n 3 'grep "cpu MHz" /proc/cpuinfo' Every 3.0s: grep "cpu MHz" /proc/cpuinfo Sun Aug 21 21:38:19 2016 cpu MHz : 2020.968 cpu MHz : 1707.656 cpu MHz : 1700.062 cpu MHz : 1699.968Command diatas menunjukan bahwa cpu saya bisa menggunakan kemampuan kecepatanya melebihi 1.7GHz.
2. Karena ada satu cpu yang masih dibawah 1.7, maka kita coba simulasikan dengan mencoba melakukan looping forever komputer kita untuk memaksanya kerja 100% dengan command while :; do :; done coba tengok terminal sebelumnya salah satu core anda pasti akan menggunakan utilisasinya sampai 100%.
Warning
Apabila ternyata cpu anda ternyata selalu mentok pada angka tertentu. Maka anda harus berhati-hati sapa tau dia di setting untuk powesaving. Kalo masalah ini tinggal selera anda. Apakah anda ingin menggunakan laptop anda untuk keperluan yang performance ataukan untuk powersaving yang penting batrey tahan lama. tapi untuk melakukan pengecekanya adalah
1. Pastikan dulu anda menggunakan driver apa untuk management power scaling nya. Caranya adalah
[root@localhost local]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver intel_pstate2. Kemudian lihat cpu scalling yang digunakan
[root@localhost local]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor powersavePerlu menjadi catatan bahwa untuk intel_pstate scaling governor powersave adalah setara dengan governare ondemand pada driver acpi-cpufreq. governor pada intel_pstate hanya menyediakan dua saja
[root@localhost local]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors performance powersaveBagi anda yang masih menggunakan driver acpi-cpufreq anda perlu melihat table ini Governor Description ondemand Dynamically switch between CPU(s) available if at 95% cpu load performance Run the cpu at max frequency conservative Dynamically switch between CPU(s) available if at 75% load powersave Run the cpu at the minimum frequency userspace Run the cpu at user specified frequencies Table from:wiki.archlinux.org