Preface Intel's hyper-threading technology allows two threads to be executed in parallel on one physical core, which in most cases can improve the utilization of hardware resources and enhance system performance. For CPU-intensive numerical programs, hyperthreading technology may cause overall program performance to degrade. For this reason, it is recommended to disable hyperthreading technology when executing OpenMP or MPI numerical programs. The following is a script found on github that dynamically turns on and off hyper-threading technology. The principle is to find the relationship between logical cores according to the /sys/devices/system/cpu/cpuX/topology/thread_siblings_list file, and then edit the /sys/devices/system/cpu/cpuX/online file to dynamically turn on and off hyper-threading technology. #!/bin/bash HYPERTHREADING=1 function toggleHyperThreading() { for CPU in /sys/devices/system/cpu/cpu[0-9]*; do CPUID=`basename $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,` if [ $CPUID = $THREAD1 ]; then echo "-> enable" [ -e $CPU/online ] && echo "1" > $CPU/online else if [ "$HYPERTHREADING" -eq "0" ]; then echo "-> disabled"; else echo "-> enabled"; fi echo "$HYPERTHREADING" > $CPU/online fi done } function enabled() { echo -en "Enabling HyperThreading\n" HYPERTHREADING=1 toggleHyperThreading } function disabled() { echo -en "Disabling HyperThreading\n" HYPERTHREADING=0 toggleHyperThreading } # ONLINE=$(cat /sys/devices/system/cpu/online) OFFLINE=$(cat /sys/devices/system/cpu/offline) echo "---------------------------------------------------" echo -en "CPU's online: $ONLINE\t CPU's offline: $OFFLINE\n" echo "---------------------------------------------------" while true; do read -p "Type in e to enable or d disable hyperThreading or q to quit [e/d/q] ?" ed case $ed in [Ee]* ) enabled; break;; [Dd]* ) disabled;exit;; [Qq]* ) exit;; * ) echo "Please answer e for enable or d for disable hyperThreading.";; esac done Remark:
refer to Disable / Enable HyperThreading cores on runtime – linux Summarize The above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. Thank you for your support of 123WORDPRESS.COM. You may also be interested in:
|
<<: MySql 8.0.11 installation and configuration tutorial
>>: Vue detailed introductory notes
At this time, you can use overflow:auto; (when the...
Theoretically, the memory used by MySQL = global ...
Foregoing: This document is based on the assumpti...
Preface Readers who are familiar with MySQL may f...
Table of contents Preface What are dynamic proper...
Table of contents Create a new html file: Create ...
1. What is ElasticSearch? Elasticsearch is also d...
The nginx configuration file is mainly divided in...
like LIKE requires the entire data to match, whil...
Table of contents Overview The history of CPU-bou...
The default_server directive of nginx can define ...
Introduction In orm frameworks, such as hibernate...
If we want to make a carousel, we must first unde...
This article shares the specific code of jQuery t...
Table of contents Previous words Usage scenarios ...