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
Als ich kürzlich an meiner Website „Fußball-Navig...
Das Prinzip des Hochladens von Bildern auf dem Fr...
Im Folgenden werden die häufig verwendete Kopfstr...
Einführung in Debian Debian bezeichnet im weitere...
Die Implementierungsmethode gliedert sich in drei...
Inhaltsverzeichnis Neuen Benutzer anlegen Neue Be...
1. Versionsinformationen # Katze /etc/system-rele...
Anfänger, die mit HTML in Berührung kommen, lerne...
Um das Parsen der Website zu beschleunigen, könne...
Inhaltsverzeichnis 1. Deklarieren Sie eine Funkti...
1. Laden Sie die 64-Bit-ZIP-Datei von der offizie...
In diesem Artikel wird der spezifische Code von j...
Die MERGE-Speicher-Engine behandelt eine Gruppe v...
Inhaltsverzeichnis 1. Kartesisches Produktphänome...
Vorwort Wenn es um Datenbanktransaktionen geht, f...