2つのCPUに1つのプロセスを割り当てる方法

イヴ

私は16個のCPUを搭載したUbuntuサーバーを持っています。nproc --all見せて16

私はtest.sh以下のような名前のbashスクリプトを書きました

#!/bin/bash


while :
do
    echo xxx
done

私はそれを実行しました:./test.sh >/dev/null &

次に、コマンドtopを使用してCPUの使用状況を監視しましたが、プロセスのために1つのCPUがほぼ100%使用されていたことがわかりましたtest.sh

6411 me       20   0   11240   3052   2852 R  93.8  0.0   0:11.71 test.sh
%Cpu5 : 96.7 us,  3.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

ご覧のとおり、プロセスtest.shはほぼ100%使用されている5番目のCPUに割り当てられています。

CPUをより多く使用できるように、複数のCPUに重いプロセスを割り当てることは可能ですか?OStest.shが複数のCPUにプロセス割り当てなかったのはなぜですか?プロセスtest.shが十分に重くないためですか、それともOSがそうするために何らかの構成を行う必要がありますか?

ctrl-alt-delor

単一のスレッドを複数のコアに分割することはできません。

プログラムは、複数のスレッド(コアごとに1つ)を持つように作成する必要があります。または、複数のプログラムが存在する必要があります。そうでない場合は、コアを使用しません。

より多くのコアを使用するプログラムを作成することは簡単ではなく、すべての問題を並列化できるわけではありません(複数のコアで実行するように作成する)。問題に本質的にシーケンシャルなコードが20%含まれている場合、プロセッサの数が無限であると、元の実行時間の20%より速くなることはありません(500%の速度向上)。次に、オーバーヘッド(スレッド間の通信)があります。

コア用のアプリケーションがない場合は、それを販売して、より安価なマシンを入手することをお勧めします。

各コアには、単一のスレッドを処理するために大量の並列処理がありますが、これは表示されません。現在、コアを追加するため、単一のコアをこれ以上高速化するのに苦労しています。これは最初はうまく機能します。

Unixシステム(Gnu / Linux、Ubuntuなど)は、2→4程度までの追加のコアをうまく​​使用します。MicrosoftのWindowsは、ウイルススキャナー用のコア、デフラグツール用のコア、その他すべてのコアがある場合に改善されます。

その後、マルチコア用に設計されたアプリケーションがある場合にのみ違いが生じます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

1つのプロセスに複数のCPU /コアを割り当てます

分類Dev

Linuxでプロセスを1つを除くすべてのCPUに制限する方法

分類Dev

1つのページの2つのListViewに画面スペースを動的に割り当てる方法は?

分類Dev

1つのforループで2つの変数を割り当てる方法は?

分類Dev

Pythonが1行に2つのリストを割り当てる

分類Dev

2つのプロセスを使用して1つのAndroidアプリから1つのログファイルにログを記録する方法

分類Dev

PHPで1つの変数に2つの値を割り当てる方法

分類Dev

VHDLの2つのプロセスで信号を割り当てます

分類Dev

Angularで1つのプロパティに追加のプロパティを割り当てる方法

分類Dev

zookeeperの2つのプロセスで1つのZNodeを監視する方法はありますか?

分類Dev

構造体の1D配列を動的に割り当てる:2つの方法

分類Dev

Windows 10を「ハッキング」して、CPUパワー全体を1つのタスクまたはプロセスで使用する方法はありますか?

分類Dev

ゾンビに1つのプロセスを作成する方法

分類Dev

1つのプロセスのみで作業しているのに、なぜ2つのCPUが機能するのですか?

分類Dev

シェルスクリプトで1つの変数値を別の変数に割り当てる方法

分類Dev

Magentoの1つの製品に同じ属性の2つを割り当てる

分類Dev

Java-2つの式を1つの変数に同時に割り当てる

分類Dev

1つのプロセスのPythonスクリプトですべてのCPUコアを使用する

分類Dev

C ++で2つの異なる型変数を1つの変数に割り当てる方法

分類Dev

ifステートメントに2つの条件を割り当てる方法

分類Dev

Swift3.2-2つのクラスを同じViewControllerに割り当てる方法は?

分類Dev

Firewalldの1つのサービスに2つのポートを割り当てる

分類Dev

プロセスに複数のCPU /コアを割り当てます

分類Dev

javascriptのsetTimeoutに配列値を1つずつ割り当てる方法

分類Dev

1行に2つの割り当て

分類Dev

1つのGPUデバイスのメモリがすべて割り当てられているときにCPUでテンソルフローセッションを実行できないのはなぜですか?

分類Dev

Goの構文またはセマンティックルールは、マップのキーアクセスが1値割り当てまたは2値割り当てにつながる場合を決定しますか?

分類Dev

1つのEC2インスタンスにのみアクセスするようにIAMユーザーを割り当てます

分類Dev

オプションのプロパティを持つタイプに値を割り当てる方法は?

Related 関連記事

  1. 1

    1つのプロセスに複数のCPU /コアを割り当てます

  2. 2

    Linuxでプロセスを1つを除くすべてのCPUに制限する方法

  3. 3

    1つのページの2つのListViewに画面スペースを動的に割り当てる方法は?

  4. 4

    1つのforループで2つの変数を割り当てる方法は?

  5. 5

    Pythonが1行に2つのリストを割り当てる

  6. 6

    2つのプロセスを使用して1つのAndroidアプリから1つのログファイルにログを記録する方法

  7. 7

    PHPで1つの変数に2つの値を割り当てる方法

  8. 8

    VHDLの2つのプロセスで信号を割り当てます

  9. 9

    Angularで1つのプロパティに追加のプロパティを割り当てる方法

  10. 10

    zookeeperの2つのプロセスで1つのZNodeを監視する方法はありますか?

  11. 11

    構造体の1D配列を動的に割り当てる:2つの方法

  12. 12

    Windows 10を「ハッキング」して、CPUパワー全体を1つのタスクまたはプロセスで使用する方法はありますか?

  13. 13

    ゾンビに1つのプロセスを作成する方法

  14. 14

    1つのプロセスのみで作業しているのに、なぜ2つのCPUが機能するのですか?

  15. 15

    シェルスクリプトで1つの変数値を別の変数に割り当てる方法

  16. 16

    Magentoの1つの製品に同じ属性の2つを割り当てる

  17. 17

    Java-2つの式を1つの変数に同時に割り当てる

  18. 18

    1つのプロセスのPythonスクリプトですべてのCPUコアを使用する

  19. 19

    C ++で2つの異なる型変数を1つの変数に割り当てる方法

  20. 20

    ifステートメントに2つの条件を割り当てる方法

  21. 21

    Swift3.2-2つのクラスを同じViewControllerに割り当てる方法は?

  22. 22

    Firewalldの1つのサービスに2つのポートを割り当てる

  23. 23

    プロセスに複数のCPU /コアを割り当てます

  24. 24

    javascriptのsetTimeoutに配列値を1つずつ割り当てる方法

  25. 25

    1行に2つの割り当て

  26. 26

    1つのGPUデバイスのメモリがすべて割り当てられているときにCPUでテンソルフローセッションを実行できないのはなぜですか?

  27. 27

    Goの構文またはセマンティックルールは、マップのキーアクセスが1値割り当てまたは2値割り当てにつながる場合を決定しますか?

  28. 28

    1つのEC2インスタンスにのみアクセスするようにIAMユーザーを割り当てます

  29. 29

    オプションのプロパティを持つタイプに値を割り当てる方法は?

ホットタグ

アーカイブ