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
。