16個のCPUのうち2つだけを使用するLinuxシステムでプロセスを実行できますか?

16個のCPUのうち2つだけを使用するLinuxシステムでプロセスを実行できますか?

16個のCPUのうち2つだけを使用するLinuxシステムでプロセスを実行できますか?

Red Hatマシンのバージョン6があり、16個のCPUがあります。

ただし、ライセンスにはコストがかかるため、スクリプトを2つのCPUでのみ実行するように制限すると、コストを節約できます。

ベストアンサー1

特定のコアセットで実行するようにプロセスを制限できます。taskset

taskset 3 mycommand

(ビットマスクは、コア0と1でのみ実行できることを3意味します。)mycommand

しかし、これはプロセスが考えるCPUの量を変更しません。これは、ビットマスクにリストされているもの以外のCPUでプロセスをスケジュールしないようにカーネルに指示するだけです。したがって、プログラムがCPUの数に基づいてライセンスチェックを実行している場合、これは役に立ちません。

確実に機能する1つの解決策は、2つの(仮想)コアのみを持つ仮想マシンでプロセスを実行することです。ただし、これによりパフォーマンスが低下する可能性があります。

グループCプロセスが使用できるリソースを制限する中間方法を提供します。プロセスでCPUを効果的に隠すか、またはtaskset

おすすめ記事