GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa Menonaktifkan Penskalaan Frekuensi CPU?

Sebagai pecandu kinerja web, saya selalu mencari cara untuk meningkatkan kinerja sistem dan mempercepat aplikasi web. Dan hari ini saya akan berbagi dengan Anda keajaiban penskalaan frekuensi CPU, dan panduan praktis cara menonaktifkan penskalaan frekuensi CPU untuk menjalankan sistem Anda dengan kecepatan CPU penuh.

Sebelum masuk ke cara menonaktifkan penskalaan frekuensi CPU, mari kita pahami apa itu pembatasan CPU.

Apa itu penskalaan frekuensi CPU?

Sejak Kernel v. 2.6.18 (CentOS) dan 2.6.32 (Ubuntu), fitur baru yang disebut Dynamic CPU frequency scaling (alias CPU throttling)  diperkenalkan.

Scaling frekuensi CPU ini memungkinkan prosesor berjalan dalam frekuensi yang lebih sedikit dari frekuensi maksimum yang diizinkan. Ini dilakukan hanya untuk menghemat konsumsi daya, tetapi kelemahannya adalah Anda tidak dapat menggunakan kecepatan CPU secara penuh.

Bagaimana cara mengetahui kecepatan CPU saya berjalan?

Jalankan perintah ini, seperti yang Anda lihat di bawah ini:

grep -E '^model name|^cpu MHz' /proc/cpuinfo

Outputnya harus seperti ini:

[[email protected]:~]grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000

Seperti yang Anda lihat, kecepatan CPU asli adalah @ 3,40 Ghz, namun kecepatan CPU yang berjalan dalam Mhz adalah sekitar 1600. CPU berjalan dengan setengah kecepatan totalnya.

Ini juga dapat dicapai dengan paket CPU keren yang disebut cpufrequtils / cpupoweruitls

Instal cpupowerutils di CentOS/Debian

yum install cpupowerutils -y

Instal cpupowerutils di Ubuntu/Debian

apt-get install cpufrequtils

Sekarang jalankan perintah ini, dan itu akan menampilkan informasi tentang kecepatan CPU minimum dan maksimum Anda, antara lain:

cpupower frequency-info

Output yang diharapkan harus serupa dengan ini:

[[email protected]:~]cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.60 GHz - 3.80 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.60 GHz and 3.80 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: 1.60 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    3600 MHz max turbo 4 active cores
    3700 MHz max turbo 3 active cores
    3800 MHz max turbo 2 active cores
    3800 MHz max turbo 1 active cores

Nonaktifkan penskalaan frekuensi CPU di Linux (RedHat dan Ubuntu)

Mari kita lihat cara menonaktifkan penskalaan frekuensi CPU pada platform Linux paling populer.

Untuk pengguna CentOS / RHEL

Mari kita ubah frekuensi cpu ke kecepatan maksimum yang tersedia dengan perintah berikut:

cpupower frequency-set -g performance

Mari kita lihat apakah ada perubahan pada kecepatan CPU berjalan lagi:

[[email protected]:~]grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3497.218
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3392.296
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3397.742
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 2283.578
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3457.640
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 2133.234
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.257
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3740.265
[[email protected]:~]

Seperti yang Anda lihat pada perintah sebelumnya, sekarang CPU berjalan lebih tinggi dari sebelumnya saat dibutuhkan.

Cara lain untuk melakukannya secara manual adalah menjalankan perintah ini yang akan mengubah gubernur CPU dari mode 'ondemand' ke mode 'kinerja' untuk semua CPU Anda:

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

Jika sistem Anda menjalankan daemon apa pun yang mengontrol kecepatan CPU, hentikan saja agar sistem Anda berjalan dengan kecepatan CPU penuh:cpuspeed, cpufreqd, atau powerd.

service cpuspeed stop

Untuk pengguna Ubuntu / Debian

Edit file ini, dan jika tidak ada, buat saja:

nano -w /etc/default/cpufrequtils

Tambahkan baris berikut di dalam:

GOVERNOR="performance"

Simpan dengan menekan CTRL + X, lalu tekan Y.

Langkah selanjutnya:nonaktifkan daemon ondemand untuk menghindari kehilangan perubahan Anda setelah Anda me-reboot server, jalankan perintah ini:

update-rc.d ondemand disable

Itu saja. Periksa kembali pengaturan Anda dengan perintah ini:

cpufreq-info

Kesimpulan

Menjalankan CPU Anda dengan kecepatan penuh benar-benar dapat meningkatkan kinerja aplikasi Anda. Sebagian besar CPU modern sudah memiliki sistem pendingin cpu yang sangat bagus, jadi ini seharusnya tidak menjadi masalah, namun pastikan ini tidak menyebabkan konsumsi daya ekstra yang besar atau CPU terlalu panas. Seperti yang Anda lihat, Anda dapat menonaktifkan penskalaan frekuensi CPU dengan mudah untuk distribusi berbasis RedHat dan Debian. Beri tahu kami jika Anda memiliki masalah atau pertanyaan tentang ini.

Bacaan lebih lanjut:

  • Penskalaan frekuensi CPU di Linux dengan cpufreq
  • Dokumen Penskalaan Frekuensi CPU ArchLinux
  • Dokumentasi Gubernur RedHat CPUFreq
Bagaimana saya bisa Menonaktifkan Penskalaan Frekuensi CPU? terakhir diubah:11 April 2017 oleh Esteban Borges
Linux
  1. Bagaimana cara menonaktifkan pembaruan otomatis KernelCare?

  2. Cara Menonaktifkan ETag di NGINX

  3. Bagaimana Cara Menonaktifkan Bootchart?

  1. Bagaimana Cara Menonaktifkan SELinux di CentOS?

  2. CentOS / RHEL 6:Cara menonaktifkan IPv6

  3. Bagaimana saya bisa menghubungkan file di Linux?

  1. Bagaimana saya bisa melihat inti CPU mana yang menjalankan utas?

  2. Bagaimana cara menonaktifkan tombol drive CD/DVD saya?

  3. Cara menonaktifkan satu CPU