Dockerコンテナ内で実行している場合、Node.jsクラスターモジュールはすべてのCPUコアを使用できるわけではありません

lnshi

物理マシンでNode.jsクラスターモジュールを実行すると、os.cpus().lengthが取得されます4が、アプリをDockerコンテナー内に配置すると、が返されます2

これは、デフォルトでGolangは1つのシングルコアでのみ実行されるためです。そのため、ここではクラスターモジュールは1つのCPUコア(2つの論理コア)しか認識できません。

クラスタモジュールですべての物理CPUコアを利用したい場合、それを実現する適切な方法は何ですか?

私は--cpuset-cpus=0-1オプションで遊んでみましたが、今まであまり理解していませんでした。

任意の数のワーカーを作成するだけで、本当にすべてのCPUコアを利用できるのでしょうか。os.cpus().lengthここだけであり、私はシェルスクリプトを呼び出すことにより、これの周りに取得することができ、CPUがマシンをどのように多くのコアを把握するために使用されます。つまり、この質問は、Node.js os.cpus()APIがdockerと互換性がないことと単純に等しい可能性がありますか?本当?

ガルキン

Dockerマシンはデフォルトの2コアを使用します。Macでは、事前に金額を変更できます。ここに画像の説明を入力してください

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

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

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ