私は、24コアの共有Linuxコンピューターで超並列科学計算ジョブを実行しています。ほとんどの場合、このコンピューターで他に何も実行されていないときに、私のジョブは24コアに拡張できます。ただし、私のものではないシングルスレッドジョブが1つでも実行されている場合、24スレッドジョブ(私は高いnice値に設定)は(Linux表記を使用して)最大1800%のCPUしか取得できないようです。その間、CPUサイクルの約500%(ここでもLinux表記を使用)はアイドル状態です。誰かがこの動作と、他の誰かが使用していない23個のコアすべてを取得するために私ができることを説明できますか?
ノート:
関連する場合は、わずかに異なるカーネルバージョンでこれを観察しましたが、頭のてっぺんからどれを覚えているかはわかりません。
CPUアーキテクチャはx64です。私の24コアのジョブが32ビットであり、競合している他のジョブが64ビットであるという事実が関係している可能性はありますか?
編集:私が今気づいたことの1つは、最大30スレッドになると、問題がある程度軽減されるように見えることです。最大2100%のCPUを使用できます。