コアではなく、CPUを無効にすることはできますか?パフォーマンスが大きな違いを生むかどうかを確認するためのテストを行いたいと思います。
Ubuntu 10.10を使用しています。
コアではなく、CPUを無効にすることはできますか?パフォーマンスが大きな違いを生むかどうかを確認するためのテストを行いたいと思います。
Ubuntu 10.10を使用しています。
回答:
BIOS grubでこれを行う以外に、というオプションがありますmaxcpus
。
maxcpus=1
パラメータに追加することで、GRUBブートオプションを選択するときにこのオプションを編集できます。ランダムな写真:
「e」を選択すると、オプションを追加できるコマンドラインが表示されます。
また、現在のブートオプションのコピーを作成maxcpus=1
してブートパラメータに追加することで、GRUBに永続的なブートオプションを作成することもできます。これに「Ubuntu、kernel 2.5.12-9-386(1 cpu)」という名前を付けて、図に示すように、他のブートオプションと組み合わせることができます。
次のコマンドを発行して、1つのCPUで実行されていることを確認できます。
cat /proc/cpuinfo | grep processor
これは次のように表示されます。
プロセッサ:0 プロセッサ:1
また、1 CPUで起動すると、2行目が消えます。
を介して動的にCPUを無効にできます。/sys/devices/system/cpu/cpuN/online
たとえば、CPU 1を無効にするには、次を使用します。
echo 0 | sudo tee /sys/devices/system/cpu/cpu1/online
再度有効にするには、次を使用します:
echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
CPUはいつでもソケットから取り外すことができます。総当たりですが、必要なテストが確実に得られ、カーネル/ BIOS /スイッチが実際に期待どおりに動作しているかどうかを心配する必要はありません。
私の会社では、世界中のさまざまな場所にサーバーファームが大規模に設置されています。私たちのラボでは、そのようなテストのためだけにソケットからCPUを削除することがあります。
このテストには、マルチCPU NUMAシステムで実行できる興味深いバリエーションがあります。これらのタイプのマザーボードでは、1つの物理CPUによって制御されるすべてのメモリDIMMを取り外すことができます。システムは引き続き問題なく起動し、アプリケーションをさまざまなコアに固定してテストを実行できるため、「ローカル」または「リモート」メモリの影響を測定できます。
コアの数とともにマルチスレッドアプリケーションのパフォーマンスを確認しますか?その場合は、タスクセットユーティリティを使用できます。あなたはNUMAマシンを持っていると思います。numactlユーティリティをインストールし、それを使用することで、どのCPUに対応するどのコアを見つけることができます。たとえば、マシンに2つのクアッドコアCPU(チップ)があるとします。tasksetユーティリティを使用すると、1つのCPUのコアをセットとして作成し、それらをアプリケーションに割り当てることができます。次に、アプリケーションは1つのCPU /チップ(4コア)のみを使用します。さらに情報が必要な場合はお知らせください。