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

Linuxで特定のプロセスを実行しているCPUコアを見つける4つの方法

質問: Linux(CentOS、RedHat、Fedoraなど)に、現在特定のプロセスを実行しているCPUコアを見つけることができるコマンドがあるかどうか知りたいのですが。

回答:

はい、特定のプロセス識別番号を現在実行しているCPUコアを識別するには少なくとも4つの方法があります。実例を示すために、 crondについて考えてみましょう。 プロセスID24868のプロセス。

コマンド1: psを使用する コマンド

psを使用できます どのプロセスがどのCPUコアに現在割り当てられているかを調べるコマンド。 PSRに注意してください psのフィールド コマンド出力。

$ ps -o pid,psr,comm -p 24868
 PID PSR COMMAND
24868 2 crond

上記のコマンド出力は、PID 24868(crond)のプロセスがCPUコア2に割り当てられていることを示しています。

注: カーネルは任意のCPUコアでプロセスをスケジュールし、あるコアから別のコアにプロセスを変更し続ける可能性があります。

コマンド2: topを使用する コマンド

topを使用することもできます 指図。手順は次のとおりです。

$ top -p 24868

「上部」の出力画面で、「 f」を押します ‘を追加して「最後に使用したCPU(SMP) 」をクリックし、「 j」を押します ‘(最後に使用されたCPU(SMP)行のアスタリスクに注意してください)。完了すると、「P」列に各プロセスを実行するCPUコアIDが表示されます。

コマンド3: htopを使用する

htopのインストール:

$yum install htop
 Installed:
 htop.x86_64 0:1.0.1-2.el6
 Complete!

htopを起動します コマンドを押してF2キーを押し、セットアップに入ります。 。 [設定]列で[列]を選択し、[使用可能な列]で[プロセッサ]を選択します。完了したら、F5キーを押して列を追加し、F10キーを押して保存します。

$ htop

コマンド4:タスクセットの使用 コマンド

タスクセットを使用できます 実行中のプロセスのCPUアフィニティを取得するコマンド。

$ taskset -c -p 24868
pid 24868's current affinity list: 0-7

上記のコマンド出力は、スケジューラーがプロセスをシステム内のCPUのセット(0〜7)にバインドすることを示しています。

CPUコアとそのIDを一覧表示します:

以下のコマンドを使用すると、システム内のCPUコアのリストを検索でき、top、htop、taskset、およびpsコマンドによって返されるプロセッサIDとのマッピングに役立ちます。

$ cat /proc/cpuinfo

以上です!


Linux
  1. LinuxターミナルでサーバーのパブリックIPアドレスを見つける4つの方法

  2. Linuxでのコマンドまたはプロセスの実行時間を検索する

  3. Linuxコマンドが何をするかを知る方法

  1. Linux の特定のポートで実行されているプロセスを強制終了するには?

  2. Linuxでプロセスの優先順位を見つけるコマンドは何ですか?

  3. 特定のプロセスの名前空間を見つける方法は?

  1. 実行しているLinuxバージョンは何ですか?調べる方法は次のとおりです

  2. Linux –特定のプロセスの名前空間を見つける方法は?

  3. Linux –Linuxでプロセスを1つのCPUコアに制限する方法は??