シェルスクリプト実行時のプロセス選好を設定する

シェルスクリプト実行時のプロセス選好を設定する

次のアプリケーションを起動できるスクリプト(.sh)があります。

#!/bin/sh
./application1 configuration1.cfg  param1 param2 param3 &

sleep 2

./application2 configuration2.cfg  param1 param2 param3 &

sleep 2

など

プロセスを開始するときにCPUアフィニティを割り当てる方法はありますか?

あとは本当にやりたかったです。 C ++ではプログラムでこれを行うことができますが、シェルが最善の方法のようです。

それでは、起動後に実際にそのCPU/コアに固定されているかどうかを確認できますか?

ベストアンサー1

ユーティリティプログラムがありますが、tasksetutil-linuxの一部であることは、この目的のためのものです。たとえば、

taskset -c 0-15 script

実行され、scriptIDが0〜15のCPUのみを使用するように制限されます。

スクリプトが実際に正しいCPUで実行されるように制限されていることを確認するには、ファイルを表示します。ファイルには(ビットマップ、CPU 0が許可されている場合は最下位ビットが設定されます)、および(CPU IDリスト)/proc/<pid>/statusという項目が含まれています。 )。Cpus_allowedCpus_allowed_list

おすすめ記事