GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So machen Sie ein Linux-System schneller auf Intel-CPUs

Sie haben wahrscheinlich schon von Meltdown gehört und Spectre-Schwachstellen das betraf viele moderne Prozessoren, darunter bestimmte Prozessoren von Intel, AMD, System Z, Power und ARM. Glücklicherweise haben die Kernel-Entwickler Sicherheitspatches veröffentlicht, um die Meltdown/Spectre-Probleme zu beheben. In den neueren Kernel-Versionen sind die Patches standardmäßig implementiert. Obwohl die Sicherheitspatches dazu beitragen, die Schwachstellen zu mindern, haben sie auch die Leistung des Systems beeinträchtigt. Ja, die Minderungen führen zu Leistungseinbußen. Wenn Sie sicher sind, dass Ihre Systeme gut geschützt sind, und jedes Quäntchen Leistung, das Sie aus Ihrem persönlichen System herausholen können, wollen, ist dieser Leitfaden genau das Richtige für Sie. Diese kurze Anleitung erläutert, wie Sie Linux-Systeme schneller auf Intel-CPUs laufen lassen, indem Sie die Spectre- und Meltdown-Minderungen deaktivieren.

Ein Wort der Vorsicht

Bevor Sie die folgende Lösung implementieren, muss ich Sie warnen:DIES IST SEHR UNSICHER und NICHT EMPFOHLEN . Dadurch werden alle Spectre- und Meltdown-Schutzmaßnahmen auf Intel-CPUs deaktiviert und Ihre Linux-Systeme sind allen Sicherheitsrisiken ausgesetzt. Tun Sie dies nicht, es sei denn, Sie wissen genau, was Sie tun. Sie wurden gewarnt!

Wenn Ihnen die Sicherheit einfach egal ist, deaktivieren Sie die Schutzmaßnahmen wie unten beschrieben.

Linux-System schneller auf Intel-CPUs laufen lassen

Bearbeiten Sie Ihre GRUB-Datei mit Ihrem bevorzugten Texteditor.

Auf Debian , Ubuntu :

$ sudo nano /etc/default/grub

Wenn Sie die Linux-Kernel-Version 5.1.13 und höher verwenden, fügen Sie den folgenden Kernel-Parameter hinzu/bearbeiten Sie ihn wie folgt:

GRUB_CMDLINE_LINUX="mitigations=off"

Dadurch werden alle optionalen CPU-Minderungen deaktiviert. Dies verbessert die Systemleistung, kann Benutzer aber auch mehreren CPU-Schwachstellen aussetzen.

Wenn Sie ältere Kernel-Versionen als 5.1.13 verwenden, fügen/bearbeiten Sie stattdessen Folgendes hinzu:

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"

Kernel-Parameter zum Deaktivieren aller Spectre- und Meltdown-Minderungen

Dies sind die Kernel-Parameter, die Sie zum Deaktivieren aller Spectre/Meltdown-Minderungen verwenden können, die Ihr Linux-System verlangsamen.

Wissen, was jedes Flag tut:

  • noibrs - Deaktivieren Sie die eingeschränkte Spekulation mit indirekter Verzweigung im Mikrocode.
  • noibpb - Deaktivieren Sie indirekte Verzweigungsvorhersagebarrieren.
  • nopti - Es ist dasselbe wie pti=off. Control Page Table Isolierung von Benutzer- und Kernel-Adressräumen. Durch das Deaktivieren dieser Funktion wird die Härtung entfernt, aber die Leistung von Systemaufrufen und Interrupts verbessert.
  • nospectre_v2 – Deaktivieren Sie alle Gegenmaßnahmen für die Schwachstelle Spectre Variante 2 (indirekte Verzweigungsvorhersage). Das System kann mit dieser Option Datenlecks zulassen, was äquivalent zu spectre_v2=off ist.
  • nospectre_v1 – Abschwächungen für Spectre Variante 1 deaktivieren (Umgehung der Begrenzungsprüfung). Mit dieser Option sind Datenlecks im System möglich.
  • l1tf=off – Kontrollieren Sie die Minderung der L1TF-Schwachstelle auf betroffenen CPUs. Der Kernel-PTE-Inversionsschutz ist bedingungslos aktiviert und kann nicht deaktiviert werden. Deaktiviert Hypervisor-Minderungen und gibt keine Warnungen aus. Es senkt auch die Beschränkung der Auslagerungsgröße und des verfügbaren RAM-Limits sowohl auf Hypervisor als auch auf Bare Metal.
  • nospec_store_bypass_disable – Deaktivieren Sie alle Schutzmaßnahmen für die Speculative Store Bypass-Schwachstelle.
  • no_stf_barrier - Store-Forwarding-Barriere deaktivieren (nur PPC).
  • mds=off - Kontrollieren Sie die Risikominderung für die Schwachstelle Micro-Architectural Data Sampling (MDS).
  • tsx=on - Aktivieren Sie die TSX-Unterstützung (Transactional Synchronization Extensions) von Intel.
  • tsx_async_abort=off – TAA (TSX Async Abort)-Minderung deaktivieren.
  • mitigations=off - Deaktivieren Sie alle Schadensbegrenzungen.

Für weitere Details zu jeder Flagge führen Sie eine schnelle Google-Suche durch.

Aktualisieren Sie nach dem Hinzufügen der Kernel-Parameter die GRUB-Konfiguration mit folgendem Befehl:

$ sudo update-grub

Starten Sie abschließend das System neu:

$ sudo reboot

Auf RPM-basierten Systemen wie CentOS und RHEL , bearbeiten Sie /etc/sysconfig/grub Datei:

$ sudo /etc/sysconfig/grub

Fügen Sie die obigen Parameter in GRUB_CMDLINE_LINUX hinzu. Aktualisieren Sie dann die GRUB-Konfiguration mit dem Befehl:

$ sudo grub2-mkconfig

Abschließend neu starten:

$ sudo reboot

In einigen Linux-Systemen müssen Sie diese Kernel-Parameter möglicherweise in "GRUB_CMDLINE_LINUX_DEFAULT="..." hinzufügen .

Wir haben jetzt alle Spectre- und Meltdown-Minderungen deaktiviert. Dadurch wird die Leistung Ihres Systems ein wenig gesteigert, aber es kann Benutzer auch mehreren CPU-Schwachstellen aussetzen.

Überprüfen Sie, ob Spectre/Meltdown-Minderungen deaktiviert sind

Wir können "spectre-meltdown-checker" verwenden Tool, das Ihnen hilft, die Schwachstellen Spectre und Meltdown in Linux zu identifizieren. Es ist in den offiziellen Repositories einiger Linux-Distributionen verfügbar.

Unter Debian, Ubuntu:

$ sudo apt install spectre-meltdown-checker

Unter CentOS, RHEL:

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

Auf Fedora:

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

Führen Sie nach der Installation von spectre-meltdown-checker es als Root-Benutzer oder mit sudo-Berechtigungen aus, um zu prüfen, ob Spectre- und Meltdown-Mitigationen deaktiviert sind:

Sie sollten eine Nachricht wie die folgende sehen.

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

Alternativ können Sie Spectre/Meltdown-Schwachstellen wie unten überprüfen.

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

Beispielausgabe:

itlb_multihit l1tf mds meltdown spec_store_bypass spectre_v1 spectre_v2 tsx_async_abort

Und..

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

Beispielausgabe:

/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

Überprüfen Sie die Sicherheitslücken von Spectre und Meltdown

Führen Sie einige Benchmarks durch und prüfen Sie, wie viel Leistung Sie gewinnen werden, und entscheiden Sie dann, ob es sich lohnt, alles zu deaktivieren.

Wie ich bereits gewarnt habe, ist dieser Tipp eine nützliche und sinnvolle Option für Heim- oder Einzelplatzcomputer. Aber nicht für Produktionssysteme empfohlen.


Linux
  1. So konfigurieren Sie die Virtualisierung unter Redhat Linux

  2. So legen Sie den System-Hostnamen unter Linux fest oder ändern ihn

  3. So ändern Sie den Hostnamen unter Linux

  4. Linux – Wie führe ich einen Bootloader von Linux aus?

  5. Wie kann ich ein Perl-Skript als System-Daemon unter Linux ausführen?

Wie man eine Datei unter Linux ausführbar macht

So führen Sie Windows 95 unter Linux aus

So navigieren Sie unter Linux schneller durch Verzeichnisse

Wie man Debian Linux schneller macht

So listen Sie Dienste unter Linux auf

So führen Sie .run- und .bin-Pakete im Linux-System aus