序文 Intel のハイパースレッディング テクノロジーにより、1 つの物理コア上で 2 つのスレッドを並行して実行できるため、ほとんどの場合、ハードウェア リソースの使用率が向上し、システム パフォーマンスが向上します。 CPU を集中的に使用する数値プログラムの場合、ハイパースレッディング テクノロジによってプログラム全体のパフォーマンスが低下する可能性があります。このため、OpenMP または MPI 数値プログラムを実行するときは、ハイパースレッディング テクノロジを無効にすることをお勧めします。 以下は、ハイパースレッディング テクノロジーを動的にオン/オフにする、github で見つかったスクリプトです。原理は、/sys/devices/system/cpu/cpuX/topology/thread_siblings_list ファイルに従って論理コア間の関係を見つけ、/sys/devices/system/cpu/cpuX/online ファイルを編集してハイパースレッディング テクノロジを動的にオン/オフにすることです。 #!/bin/bash ハイパースレッディング=1 関数トグルハイパースレッディング() { /sys/devices/system/cpu/cpu[0-9]*のCPUの場合、 CPUID=`ベース名 $CPU | cut -b4-` echo -en "CPU: $CPUID\t" [ -e $CPU/オンライン ] && echo "1" > $CPU/オンライン THREAD1=`cat $CPU/topology/thread_siblings_list | cut -f1 -d,` [ $CPUID = $THREAD1 ]の場合; echo "-> 有効にする" [ -e $CPU/オンライン ] && echo "1" > $CPU/オンライン それ以外 if [ "$HYPERTHREADING" -eq "0" ]; then echo "-> 無効"; else echo "-> 有効"; fi echo "$HYPERTHREADING" > $CPU/オンライン フィ 終わり } 関数を有効にする() { echo -en "ハイパースレッディングを有効にしています\n" ハイパースレッディング=1 ハイパースレッディングの切り替え } 関数が無効になっています(){ echo -en "ハイパースレッディングを無効にしています\n" ハイパースレッディング=0 ハイパースレッディングの切り替え } # ONLINE=$(cat /sys/devices/system/cpu/online) オフライン=$(cat /sys/devices/system/cpu/offline) エコー "---------------------------------------------------" echo -en "CPU がオンライン: $ONLINE\t CPU がオフライン: $OFFLINE\n" エコー "---------------------------------------------------" 真実である一方、 read -p "ハイパースレッディングを有効にするには e を、無効にするには d を、終了するには q を入力してください [e/d/q]?" ed ケース$edin [Ee]* ) 有効; ブレーク;; [Dd]* ) 無効;終了;; [Qq]* ) 終了;; * ) echo "ハイパースレッディングを有効にする場合は e、無効にする場合は d と答えてください。";; エサック 終わり 述べる:
参照する 実行時にハイパースレッディング コアを無効/有効にする – Linux 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySql 8.0.11 のインストールと設定のチュートリアル
>>: MySQL 5.7.17 圧縮パッケージのインストール不要の構成プロセス図
公式サイトの説明: コンポーネントを定義する場合、コンポーネントは複数のインスタンスを作成するために...
パスワードを忘れると困ります。Mac に MySQL をインストールするための初期パスワードを忘れて...
システムでさまざまな IO ボトルネック、メモリ使用量の増加、CPU 使用率の増加などの問題が発生し...
要素までスクロールするたびに読み込みアニメーションを追加するにはどうすればよいですか?初期パラメータ...
目次1. JSONとは何か1.1 配列リテラル1.2 オブジェクトリテラル1.3 混合リテラル1.4...
データベースアカウントのパスワード暗号化の詳細な説明と例データベースアカウントとパスワードはデータベ...
CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...
目次1. forループ2. 二重の for ループ3. whileループ4. dowhileループ5...
ブラウザの互換性は、実際の開発では見落とされがちな最も重要な部分です。古いバージョンのブラウザの互換...
React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。 ...
目次サーバーはjupyterノートブックを実行します仮想環境次にファイアウォールをオフにしますJup...
目次なぜマテリアルライブラリが必要なのでしょうか?材質は何ですか?素材の種類fuep、vue3 ベー...
目次再実行ログディスクデータを直接更新するのではなく、最初にメモリデータを更新する必要があるのはなぜ...
FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画...
序文Bash には、ls、cd、mv などの重要な組み込みコマンドが多数あるほか、grep、awk、...