GNU/Linux >> Belajar Linux >  >> Linux

Cara Membuat Sistem Linux Berjalan Lebih Cepat Pada CPU Intel

Anda mungkin pernah mendengar tentang Meltdown dan Kerentanan hantu yang mempengaruhi banyak prosesor modern, termasuk prosesor tertentu oleh Intel, AMD, System Z, Power dan ARM. Untungnya, pengembang Kernel telah merilis patch keamanan untuk mengatasi masalah Meltdown/Spectre. Dalam versi Kernel terbaru, tambalan diimplementasikan secara default. Meskipun patch keamanan membantu mengurangi kerentanan, patch tersebut juga memengaruhi kinerja sistem. Ya, mitigasi akan menyebabkan hit kinerja. Jika Anda yakin bahwa sistem Anda terlindungi dengan baik dan menginginkan setiap ons kinerja yang dapat Anda peroleh dari sistem pribadi Anda, panduan ini cocok untuk Anda. Panduan singkat ini menjelaskan cara membuat sistem Linux berjalan lebih cepat pada CPU Intel dengan mematikan mitigasi Spectre dan Meltdown.

Hati-hati

Sebelum menerapkan solusi berikut, saya harus memperingatkan Anda - INI SANGAT TIDAK AMAN dan TIDAK DIREKOMENDASIKAN . Ini akan menonaktifkan semua mitigasi Spectre dan Meltdown pada CPU Intel dan membiarkan sistem Linux Anda terbuka lebar untuk semua risiko keamanan. Kecuali Anda jelas tahu apa yang Anda lakukan, jangan lakukan ini. Anda telah diperingatkan!

Jika Anda tidak peduli dengan keamanannya, lanjutkan dan nonaktifkan mitigasi seperti yang dijelaskan di bawah ini.

Membuat Sistem Linux Berjalan Lebih Cepat Pada CPU Intel

Edit file GRUB Anda menggunakan editor teks pilihan Anda.

Di Debian , Ubuntu :

$ sudo nano /etc/default/grub

Jika Anda menggunakan Kernel Linux versi 5.1.13 dan yang lebih baru, tambahkan/edit parameter Kernel berikut seperti di bawah ini:

GRUB_CMDLINE_LINUX="mitigations=off"

Ini akan menonaktifkan semua mitigasi CPU opsional. Ini meningkatkan kinerja sistem, tetapi juga dapat membuat pengguna rentan terhadap beberapa kerentanan CPU.

Jika Anda menggunakan versi Kernel yang lebih lama dari 5.1.13, tambahkan/edit yang berikut ini:

GRUB_CMDLINE_LINUX="noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off tsx=on tsx_async_abort=off mitigations=off"

Parameter kernel untuk menonaktifkan semua mitigasi Spectre dan Meltdown

Ini adalah parameter Kernel yang dapat Anda gunakan untuk menonaktifkan semua mitigasi Spectre/Meltdown yang memperlambat sistem Linux Anda.

Ketahui apa yang dilakukan setiap bendera:

  • noibs - Nonaktifkan Spekulasi Terbatas Cabang Tidak Langsung di mikrokode.
  • noibpb - Nonaktifkan Hambatan Prediksi Cabang Tidak Langsung.
  • nopti - Ini sama dengan pti=off. Tabel Halaman Kontrol Isolasi ruang alamat pengguna dan kernel. Menonaktifkan fitur ini menghilangkan pengerasan, tetapi meningkatkan kinerja panggilan sistem dan interupsi.
  • nospectre_v2 - Nonaktifkan semua mitigasi untuk kerentanan Spectre varian 2 (prediksi cabang tidak langsung). Sistem dapat mengizinkan kebocoran data dengan opsi ini, yang setara dengan spectre_v2=off.
  • nospectre_v1 - Nonaktifkan mitigasi untuk Spectre Variant 1 (bypass pemeriksaan batas). Dengan opsi ini, kebocoran data dapat terjadi di sistem.
  • l1tf=mati - Mengontrol mitigasi kerentanan L1TF pada CPU yang terpengaruh. Perlindungan inversi PTE kernel diaktifkan tanpa syarat dan tidak dapat dinonaktifkan. Menonaktifkan mitigasi hypervisor dan tidak mengeluarkan peringatan apa pun. Ini juga menurunkan ukuran swap dan batasan batas RAM yang tersedia pada hypervisor dan bare metal.
  • nospec_store_bypass_disable - Nonaktifkan semua mitigasi untuk kerentanan Speculative Store Bypass.
  • tanpa_stf_barrier - Nonaktifkan Penghalang penerusan toko (khusus PPC).
  • mds=mati - Mengontrol mitigasi untuk kerentanan Micro-architectural Data Sampling (MDS).
  • tsx=on - Aktifkan dukungan Intel TSX (Transactional Synchronization Extensions).
  • tsx_async_abort=off - Nonaktifkan mitigasi TAA (TSX Async Abort).
  • mitigasi=mati - Nonaktifkan semua mitigasi.

Untuk detail selengkapnya tentang setiap bendera, lakukan penelusuran cepat di Google.

Setelah menambahkan parameter Kernel, perbarui konfigurasi GRUB menggunakan perintah:

$ sudo update-grub

Terakhir, reboot sistem:

$ sudo reboot

Pada sistem berbasis RPM seperti CentOS dan RHEL , edit /etc/sysconfig/grub berkas:

$ sudo /etc/sysconfig/grub

Tambahkan parameter di atas di GRUB_CMDLINE_LINUX. Dan kemudian perbarui konfigurasi GRUB menggunakan perintah:

$ sudo grub2-mkconfig

Akhirnya reboot:

$ sudo reboot

Di beberapa sistem Linux, Anda mungkin perlu menambahkan parameter Kernel ini di "GRUB_CMDLINE_LINUX_DEFAULT="..." .

Kami sekarang telah menonaktifkan semua mitigasi Spectre dan Meltdown. Ini akan sedikit meningkatkan kinerja sistem Anda, tetapi juga dapat membuat pengguna rentan terhadap beberapa kerentanan CPU.

Periksa apakah mitigasi Spectre/Meltdown dinonaktifkan

Kita bisa menggunakan "spectre-meltdown-checker" alat yang membantu Anda mengidentifikasi kerentanan Spectre dan Meltdown di Linux. Ini tersedia di repositori resmi dari beberapa distribusi Linux.

Di Debian, Ubuntu:

$ sudo apt install spectre-meltdown-checker

Di CentOS, RHEL:

$ sudo yum install epel-release
$ sudo yum install spectre-meltdown-checker

Di Fedora:

$ sudo dnf install $ sudo apt install spectre-meltdown-checker

Setelah menginstal spectre-meltdown-checker, jalankan sebagai pengguna root atau dengan hak sudo untuk memeriksa apakah mitigasi Spectre dan Meltdown dimatikan:

Anda akan melihat pesan seperti di bawah ini.

[...]
> STATUS: VULNERABLE (Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers)
[...]
> STATUS:  VULNERABLE  (IBRS+IBPB or retpoline+IBPB is needed to mitigate the vulnerability)
[...]
> STATUS:  VULNERABLE  (PTI is needed to mitigate the vulnerability)

Atau, Anda dapat memeriksa kerentanan Spectre/Meltdown seperti di bawah ini.

$ ls /sys/devices/system/cpu/vulnerabilities/

Contoh keluaran:

itlb_multihit l1tf mds meltdown spec_store_bypass spectre_v1 spectre_v2 tsx_async_abort

Dan..

$ grep . /sys/devices/system/cpu/vulnerabilities/*

Contoh keluaran:

/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Vulnerable
/sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion
/sys/devices/system/cpu/vulnerabilities/mds:Vulnerable; SMT Host state unknown
/sys/devices/system/cpu/vulnerabilities/meltdown:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable, STIBP: disabled
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

periksa kerentanan Spectre dan Meltdown

Jalankan beberapa tolok ukur, dan periksa berapa banyak kinerja yang akan Anda peroleh, lalu putuskan apakah layak untuk menonaktifkan semuanya.

Seperti yang telah saya peringatkan, tip ini adalah opsi yang berguna dan masuk akal untuk komputer rumahan atau pengguna tunggal. Tetapi tidak direkomendasikan untuk sistem produksi.


Linux
  1. Cara Mengatur atau Mengubah Nama Host Sistem di Linux

  2. Bagaimana saya bisa menjalankan skrip Perl sebagai daemon sistem di linux?

  3. Bagaimana cara membuat modul Python saya tersedia di seluruh sistem di Linux?

  1. Cara mengkonfigurasi Virtualisasi di Redhat Linux

  2. Cara Mengubah Nama Host di Linux

  3. Linux – Bagaimana Cara Menjalankan Bootloader Dari Linux?

  1. Cara membuat tidur atau menangguhkan Fedora

  2. Cara membuat skrip Python berjalan seperti layanan atau daemon di Linux

  3. Bagaimana cara menjalankan linux di PS3?