GNU/Linux >> Znalost Linux >  >> Linux

Jak zajistit, aby systém Linux běžel rychleji na procesorech Intel

Pravděpodobně jste slyšeli o Meltdown a Spektrální zranitelnost který ovlivnil mnoho moderních procesorů, včetně určitých procesorů Intel, AMD, System Z, Power a ARM. Naštěstí vývojáři jádra vydali bezpečnostní záplaty, které řeší problémy Meltdown/Spectre. V posledních verzích jádra jsou záplaty implementovány standardně. I když bezpečnostní záplaty pomáhají zmírnit zranitelnosti, mají také dopad na výkon systému. Ano, zmírnění způsobí snížení výkonu. Pokud jste si jisti, že jsou vaše systémy dobře chráněny, a chcete ze svého osobního systému získat maximum výkonu, je tato příručka určena právě vám. Tento stručný průvodce vysvětluje, jak zajistit, aby systém Linux běžel rychleji na procesorech Intel vypnutím opatření Spectre a Meltdown.

Důležité upozornění

Před implementací následujícího řešení vás musím varovat - TO JE VYSOCE NEBEZPEČNÉ A NEDOPORUČUJEME . Tím deaktivujete všechna zmírnění Spectre a Meltdown na procesorech Intel a vaše linuxové systémy zůstanou otevřené všem bezpečnostním rizikům. Pokud jasně nevíte, co děláte, nedělejte to. Byli jste varováni!

Pokud se jednoduše nestaráte o zabezpečení, pokračujte a deaktivujte zmírnění, jak je popsáno níže.

Urychlete běh systému Linux na procesorech Intel

Upravte svůj soubor GRUB pomocí preferovaného textového editoru.

V Debianu , Ubuntu :

$ sudo nano /etc/default/grub

Pokud používáte jádro Linux verze 5.1.13 a novější, přidejte/upravte následující parametr jádra, jak je uvedeno níže:

GRUB_CMDLINE_LINUX="mitigations=off"

Tím zakážete všechna volitelná omezení CPU. To zlepšuje výkon systému, ale může také vystavit uživatele několika zranitelnostem CPU.

Pokud používáte verze jádra starší než 5.1.13, přidejte/upravte místo toho následující:

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"

Parametry jádra pro deaktivaci všech zmírnění Spectre a Meltdown

Toto jsou parametry jádra, které můžete použít k deaktivaci všech zmírňujících opatření Spectre/Meltdown, která zpomalují váš systém Linux.

Vědět, co každá vlajka dělá:

  • noibrs - Zakažte v mikrokódu nepřímé spekulace s omezením větve.
  • noibpb - Zakázat nepřímé bariéry predikce větví.
  • nopti - Je to stejné jako pti=off. Control Page Table Izolace uživatelských a jaderných adresových prostorů. Deaktivace této funkce odstraní zesílení, ale zlepší výkon systémových volání a přerušení.
  • nospectre_v2 - Zakažte všechna zmírnění zranitelnosti Spectre variant 2 (předpověď nepřímé větve). Systém může umožňovat úniky dat s touto volbou, která je ekvivalentní spectre_v2=off.
  • nospectre_v1 - Zakázat zmírnění pro Spectre Variant 1 (bypass kontroly hranic). Díky této možnosti jsou v systému možné úniky dat.
  • l1tf=off - Kontrolujte zmírnění zranitelnosti L1TF na postižených CPU. Ochrana proti inverzi PTE jádra je bezpodmínečně povolena a nelze ji deaktivovat. Deaktivuje zmírnění hypervizoru a nevysílá žádná varování. Snižuje také omezení velikosti swapu a dostupné paměti RAM pro hypervizor i holý kov.
  • nospec_store_bypass_disable - Vypněte všechna zmírnění zranitelnosti spekulativního obcházení obchodu.
  • no_stf_barrier - Vypněte bariéru předávání obchodu (pouze PPC).
  • mds=off – Zmírnění zmírnění zranitelnosti mikroarchitekturního vzorkování dat (MDS).
  • tsx=on - Povolte podporu Intel TSX (Transactional Synchronization Extensions).
  • tsx_async_abort=off – Vypněte zmírnění TAA (TSX Async Abort).
  • mitigations=off – Zakažte všechna zmírnění.

Pro více podrobností o každé vlajce proveďte rychlé vyhledávání Google.

Po přidání parametrů jádra aktualizujte konfiguraci GRUB pomocí příkazu:

$ sudo update-grub

Nakonec restartujte systém:

$ sudo reboot

Na systémech založených na RPM, jako je CentOS a RHEL , upravte /etc/sysconfig/grub soubor:

$ sudo /etc/sysconfig/grub

Přidejte výše uvedené parametry do GRUB_CMDLINE_LINUX. A poté aktualizujte konfiguraci GRUB pomocí příkazu:

$ sudo grub2-mkconfig

Nakonec restartujte:

$ sudo reboot

V některých systémech Linux může být nutné přidat tyto parametry jádra do "GRUB_CMDLINE_LINUX_DEFAULT="..." .

Nyní jsme deaktivovali všechna zmírnění Spectre a Meltdown. To trochu zvýší výkon vašeho systému, ale může také vystavit uživatele několika zranitelnostem CPU.

Zkontrolujte, zda jsou deaktivována zmírnění spektra/ztrátu

Můžeme použít "spectre-meltdown-checker" nástroj, který vám pomůže identifikovat zranitelnosti Spectre a Meltdown v Linuxu. Je k dispozici v oficiálních repozitářích některých distribucí Linuxu.

Na Debianu, Ubuntu:

$ sudo apt install spectre-meltdown-checker

Na CentOS, RHEL:

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

Na Fedoře:

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

Po instalaci spectre-meltdown-checker jej spusťte jako uživatel root nebo s právy sudo a zkontrolujte, zda jsou zmírnění Spectre a Meltdown vypnuté:

Měli byste vidět zprávu podobnou níže.

[...]
> 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)

Případně můžete zkontrolovat zranitelnosti Spectre/Meltdown jako níže.

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

Ukázkový výstup:

itlb_multihit l1tf mds meltdown spec_store_bypass spectre_v1 spectre_v2 tsx_async_abort

A...

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

Ukázkový výstup:

/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

zkontrolujte zranitelnosti Spectre a Meltdown

Spusťte nějaké benchmarky a zkontrolujte, kolik výkonu získáte, a pak se rozhodněte, zda se vyplatí vše deaktivovat.

Jak jsem již varoval, tento tip je užitečnou a rozumnou možností pro domácí nebo jednouživatelské počítače. Ale nedoporučuje se pro produkční systémy.


Linux
  1. Jak nakonfigurovat virtualizaci na Redhat Linuxu

  2. Jak změnit název hostitele v systému Linux

  3. Jak mohu spustit skript v Perlu jako systémový démon v linuxu?

  1. Jak nastavit nebo změnit název hostitele systému v systému Linux

  2. Linux – Jak spustit bootloader z Linuxu?

  3. Jak zajistit, aby skript Python běžel jako služba nebo démon v Linuxu

  1. Jak uspat nebo pozastavit Fedoru

  2. Jak zpřístupnit můj modul Python v systému Linux?

  3. Jak spustit linux na PS3?