GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu の各 CPU コアですべてのプロセスを実行するにはどうすればよいですか?

ps -aeF でそれを行うことができます 、C を参照してください コラム

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2015 ?        00:08:07 /sbin/init

または htop で 、 PROCESSOR を表示するように構成します 列、

CPU アフィニティを設定するには、taskset コマンドを使用できます


通常 top 最後に使用された CPU も表示できます。

f を押す必要があります メイン画面を表示してフィールド管理画面に入り、P = Last Used CPU (SMP) まで矢印を下に向けます d でオンに切り替えます またはスペース。 qを押してください またはエスケープしてメイン画面に戻ります。

出力の右端にある P 列が気に入らない場合は、フィールド管理画面で P 列を上に移動することをお勧めします。


これは古いことですが、ps コマンドでどのプロセスがどのコアを使用しているかを確認したい場合は、必要な列は psr.C です。C は CPU 使用率です。

コアには 0 ~ N の番号が付けられます。主要な詳細は次の方法で確認できます:

cat /proc/cpuinfo

4 つのコアがあり、4 番目のコアを使用するすべてのプロセスを表示したいとします。

CORENUM=3; ps -e -o pid,psr,cpu,cmd | grep -E  "^[[:space:]][[:digit:]]+[[:space:]]+${CORENUM}"

上記コマンドの内訳。

値「3」(4 番目のコア) を持つ変数「CORENUM」を作成して設定します。ステートメントはセミコロンで終了します (ここで Enter キーを押すことができます)。

ps コマンドを実行します。ここで、-e =すべてのプロセスを選択します。-o =ユーザー定義形式です。これは、コンマで区切られた 1 つまたは複数の形式指定子で構成されます。これらは、セクション標準形式指定子の下の ps man (「man ps」) ページにあります。

(マニュアルページ内を検索するにはスラッシュを使用してください)。

それらの生のリストを表示するには、「L」オプションを入力できます (「-」なし):

ps L

したがって、ここでのユーザー定義の形式は、プロセス ID、プロセッサ、CPU 使用率、最後にコマンドの順にリストされています。

次に、これは grep にパイプされ、-E オプションを使用して拡張 regx を有効にし、CORENUM 変数に格納された CPU 番号に関連付けられたプロセスのみを正確に出力しようとしました。


Linux
  1. すべての子プロセスを見つける方法は?

  2. スレッドが実行されている CPU コアを確認するにはどうすればよいですか?

  3. CPU使用率を取得する方法

  1. Linuxでプロセスとそのすべての子プロセスのCPU使用率を計算する方法は?

  2. 特定のサービスが Ubuntu で実行されているかどうかを確認する方法

  3. 実行中のすべてのプロセス ID のみを取得するには?

  1. メモリとCPU使用率で上位のプロセスを見つける方法

  2. Linuxで実行中のプロセスを強制終了する方法

  3. Linux で各プロセスのスワップ使用状況を確認する方法