ホームページ > 運用・保守 > Linuxの運用と保守 > Linux でプロセスがどの CPU 上にあるかを確認する方法

Linux でプロセスがどの CPU 上にあるかを確認する方法

WBOY
リリース: 2022-05-23 16:48:51
オリジナル
9024 人が閲覧しました

表示方法: 1. プロセスがどの CPU で実行されているかを表示できる top コマンドを使用します。構文は "top -p プロセス番号" です。 2. 表示するために使用される taskset コマンドを使用します。プロセスまたはスレッド。どの CPU で実行されているかを示します。構文は「tasksset -p プロセス番号」です。

Linux でプロセスがどの CPU 上にあるかを確認する方法

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux でプロセスが実行されている CPU を確認する方法

方法 1: top コマンドを使用する

top コマンドはどの CPU を表示できますプロセスが実行されている CPU が時間の経過とともに変化するかどうかを継続的に監視できます。

使用手順:

top -p [进程号],例如 top -p 3000
ログイン後にコピー

「F」キーを押し、上下キーを使用して P = 最後に使用した CPU を選択し、スペース バーを押します。「*」は選択を示します。を押して「 q」終了を押します。

方法 2: taskset コマンドを使用する

taskset は、特定のプロセス (またはスレッド) がどの CPU で実行されているかを確認し、特定のプログラムを実行することもできます。特定の CPU

1 つまたは複数の CPU のタスクセット パラメータ オプション:

(1) -p、--pid: 既存の PID を操作し、新しいタスクを開始しません

(2 ) -c, --cpu-list: ビットマスクの代わりにプロセッサ番号のリストを指定します。リストには、カンマや範囲で区切って複数の項目を含めることができます。たとえば、0、5、7、9 ~ 11 です。

1) プロセスが実行されている CPU を表示します: -p パラメーター

例 1:

[root@localhost ~]# taskset -p 21184
ログイン後にコピー

表示結果:

pid 21184’s current affinity mask: ffffff
ログイン後にコピー

注: 21184はプロセス番号です。結果を表示する ffffff は実際には、バイナリの下位 24 ビットがすべて 1 であるビットマスクです。各 1 は 1 つの CPU に対応し、プロセスが 24 個の CPU で実行されていることを示します。

例 2:

[root@localhost ~]# taskset -p 2030
ログイン後にコピー

表示結果:

pid2030’s current affinity mask: f
ログイン後にコピー

注: sshd が 4 つの CPU をランダムにオンにすることを意味します。

例 3:

[root@localhost ~]# taskset -p 2726
ログイン後にコピー

表示結果:

pid 2726’s current affinity mask: 3
ログイン後にコピー

注: 表示された 10 進数 3 を 2 進数に変換すると、下位 2 つが 1 となり、それぞれの 1 が に対応します。 CPU が 1 つなので、プロセスは 2 CPU で実行されます。

*注: *CPU ラベルは 0 から始まるため、cpu1 は 2 番目の CPU を表します (最初の CPU ラベルは 0)。

変換方法について

8コアのCPU ID:7 6 5 4 3 2 1 0

10の対応する10進数:128 64 32 16 8 4 2 1

16 進数の 16 個の数値は、0、1、2、3、4、5、6、7、8、9、A、B、C、D、E. F

は、各 16 進 2 進数に対応します: 0=0000、1=0001、2=0010、3=0011、4=0100、5=0101、6=0110、7=0111、8=1000、9= 1001,A=1010,

B=1011,C=1100,D=1101,E=1110,F=1111

次に、たとえば、pid 8987 の現在のアフィニティがマスク: ff ff のように表示されます。は 16 進数で、バイナリに変換すると 11111111 になります。これは、sshd が 8 つの CPU で実行されることを意味します。それぞれの値に対応しています!

たとえば、16 進数の 40 をバイナリ 01000000 に変換すると、7 番目の CPU で動作することになります。

推奨される学習: Linux ビデオ チュートリアル

以上がLinux でプロセスがどの CPU 上にあるかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート