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

プロセスが実行されている特定のプロセッサを特定する

ps psr を要求すると、その情報を提供できます 列 (または -F を使用) それを含むフラグ)。

例:

$ ps -F $$
UID        PID  PPID  C    SZ   RSS PSR STIME TTY      STAT   TIME CMD
me        6415  6413  0  5210  2624   2 18:52 pts/0    SN     0:00 -su

または:

$ ps -o pid,psr,comm -p $$
  PID PSR COMMAND
 6415   0 bash

私のシェルは、最初のコマンドを実行したときは CPU 2 で実行され、2 番目のコマンドを実行したときは CPU 0 で実行されていました。プロセスは非常に迅速に CPU を変更する可能性があるため、実際に表示される情報は、本質的には既に古いものであることに注意してください。

このスーパー ユーザーの質問の回答にさらに詳しい情報があります:

Linux:プロセスがロードされているプロセッサ番号を知るコマンド?


topprocps から (一般に、最近の Linux ディストリビューションのデフォルト)、topf を押します 、 P = Last User CPU (SMP) に移動します スペースを押します 選択します (たとえば、COMMAND の前にフィールドを移動することもできます のフィールド キーを押してから上下に移動します)。 q メイン画面に戻ります (明示的に 1 つのプロセッサにとどまるように構成しない限り、プロセスがプロセッサからプロセッサへ移動するのが表示されます)。 W を押すことができます それをデフォルトとして保存します。

? を押します


コマンド taskset あなたが探しているものです:

taskset - プロセスの CPU アフィニティを取得または設定

$ taskset -p 12345
pid 12345's current affinity mask: f

f のマスク すべてのプロセッサを意味する 0x00000001 プロセッサ 0 になります。

$ taskset -c -p 24389 
pid 24389's current affinity list: 0-3

CPU をリスト形式で表示します。この例では、ラップトップに 4 つのコアがあります。

詳細については、man ページを参照してください。


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

  2. Linuxでのpidからのプロセス名

  3. Docker コンテナー内で実行されているプロセスの、ホストの PID は何ですか?

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

  2. 実行中の MTA の識別

  3. プロセスが実行されているかどうかを判断するために .pid ファイルは信頼できますか?

  1. 手作業でコンテナを構築する:PID名前空間

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

  3. どのプロセスにPid0がありますか?