Vorwort Mithilfe der Hyperthreading-Technologie von Intel können zwei Threads parallel auf einem physischen Kern ausgeführt werden, was in den meisten Fällen die Nutzung der Hardwareressourcen verbessern und die Systemleistung steigern kann. Bei CPU-intensiven numerischen Programmen kann die Hyperthreading-Technologie zu einer Verschlechterung der Gesamtprogrammleistung führen. Aus diesem Grund wird empfohlen, die Hyperthreading-Technologie beim Ausführen numerischer OpenMP- oder MPI-Programme zu deaktivieren. Das Folgende ist ein auf GitHub gefundenes Skript, das die Hyper-Threading-Technologie dynamisch ein- und ausschaltet. Das Prinzip besteht darin, die Beziehung zwischen logischen Kernen gemäß der Datei /sys/devices/system/cpu/cpuX/topology/thread_siblings_list zu finden und dann die Datei /sys/devices/system/cpu/cpuX/online zu bearbeiten, um die Hyperthreading-Technologie dynamisch ein- und auszuschalten. #!/bin/bash HYPERTHREADING=1 Funktion toggleHyperThreading() { für CPU in /sys/devices/system/cpu/cpu[0-9]*; mache CPUID=`Basisname $CPU | cut -b4-` echo -en "CPU: $CPUID\t" [ -e $CPU/online ] && echo "1" > $CPU/online THREAD1=`cat $CPU/topology/thread_siblings_list | cut -f1 -d,` wenn [ $CPUID = $THREAD1 ]; dann echo "-> aktivieren" [ -e $CPU/online ] && echo "1" > $CPU/online anders if [ "$HYPERTHREADING" -eq "0" ]; dann echo "-> deaktiviert"; sonst echo "-> aktiviert"; fi echo "$HYPERTHREADING" > $CPU/online fi Erledigt } Funktion aktiviert() { echo -en "HyperThreading aktivieren\n" HYPERTHREADING=1 HyperThreading umschalten } Funktion deaktiviert() { echo -en "HyperThreading deaktivieren\n" HYPERTHREADING=0 HyperThreading umschalten } # ONLINE=$(cat /sys/devices/system/cpu/online) OFFLINE=$(cat /sys/geräte/system/cpu/offline) echo "--------------------------------------------------" echo -en "CPUs online: $ONLINE\t CPUs offline: $OFFLINE\n" echo "--------------------------------------------------" während wahr; tun read -p "Geben Sie e ein, um HyperThreading zu aktivieren, d, um es zu deaktivieren, oder q, um es zu beenden [e/d/q]?" ed Fall $ed in [Ee]* ) aktiviert; Unterbrechung;; [Dd]* ) deaktiviert;beenden;; [Qq]* ) beenden;; * ) echo "Bitte antworten Sie mit e zum Aktivieren oder d zum Deaktivieren von HyperThreading.";; esac Erledigt Bemerkung:
siehe HyperThreading-Kerne zur Laufzeit deaktivieren/aktivieren – Linux Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: MySql 8.0.11 Installations- und Konfigurationstutorial
>>: Detaillierte Einführungshinweise zu Vue
Vorwort: Im MySQL-System gibt es viele verschiede...
Warum steckt es fest? Es gibt eine Prämisse, die ...
1. MIME: Mehrzweck-Internet-Mail-Erweiterungen Da...
Vorwort Der von mir verwendete Computer ist ein M...
Inhaltsverzeichnis Warum setState verwenden? Verw...
Inhaltsverzeichnis Grundlegende Anwendung eingebe...
In diesem Artikelbeispiel wird der spezifische Ja...
Vorwort Obwohl manche Liebe auf dieser Welt ihren...
Dieser Artikel stellt einige Aspekte von HTML-Tag...
Inhaltsverzeichnis Kurze Einleitung Intervall fes...
Heute werden wir einen einfachen Herzschlageffekt...
Linux-Dateisystem In der Abbildung oben sind herk...
Inhaltsverzeichnis Als globale Variable Variables...
Inhaltsverzeichnis Über Kubernetes Grundlegende U...
<br />Ich war schon immer der Meinung, dass ...