積雲が映像制作したMV『RANGEFINDER』公開中
専門88IO

【Linux】CPUコア数を制限する

専門

ユーザアプリケーションの性能評価でCPUコア数に制約を持たせたいときはCPUアフィニティを設定すれば良かった。ただ、カーネル空間で動作するアプリケーションの性能評価を取る際に困る。

初めはマシンのBIOS設定からCPUコアの一部を無効化しようと考えたが、OSを起動した状態で動的にシステムの使うCPUコア数を制限する方法があった。

動作環境はUbuntu Server 20.04 LTSである。

CPUコアの番号をXとして、CPUコアは
/sys/devices/system/cpu/cpuX/online
の値を1で有効、0で無効にできる

CPUコアは最低1つ必要なのでcpu0/にはonlineファイルが存在しなかった。現状Intel CoreシリーズのPコアとEコアを任意で1つ有効化することはできなさそう。

今回の評価ではCPUコア数を1つから順に増やしてパケット処理性能がスケールすることを確認できればよかったので、以下のようにして一部のCPUコアを無効化した。

sudo echo 0 > /sys/devices/system/cpu/cpu1/online

コメント

タイトルとURLをコピーしました