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
1. Was ist eine Transaktion? Eine Datenbanktransa...
Windows 10 unterstützt jetzt das Linux-Subsystem....
Bereitstellungsumgebung: Installationsversion Red...
Seine Funktion besteht darin, einen globalen Stil ...
Responsive Layoutsysteme sind in den heute gängig...
Bevor ich mit dem Haupttext beginne, werde ich ei...
1.vue-Verpackung Hier verwenden wir den Befehl „v...
1. Docker zieht das Image Docker Pull MySQL (stan...
Vorwort: Die Bedeutung einer Datenbanksicherung l...
Inhaltsverzeichnis Vorwort 1. for-Schleife 2. whi...
Sowohl die Optionen „Nur lesen“ als auch „Deaktiv...
In diesem Artikel wird beschrieben, wie Sie die a...
In diesem Artikel wird der spezifische Code von j...
Fallbeschreibung: - Verwenden Sie Tabellen, um Se...
Vue ruft die PC-Kamera auf, um Bilder in Echtzeit...