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

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

Linuxクラスタの8コアノードにアクセスできます。ノードにログインすると、以下を使用してプロセッサのリストを表示できます。

more /proc/cpuinfo

私の8コアノードでは、プロセッサ番号は0から7までです。各プロセッサはIntel Xeon CPU(E5430 @ 2.66 GHz)です。

fooさて、いくつかのパラメータを使ってこのプログラムを呼び出すとしましょうargs

foo args

プロシージャfooの実行には長い時間がかかります(例:数時間または数日)。電話後にfoo確認できますか?特別などのプロセッサ(例:0〜7)がfoo実行されていますか?プログラムtopにプロセスIDと同様の情報が表示されますが、プロセッサは表示されません。数字。そんな情報がありますか?

ベストアンサー1

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:ロードされたプロセスのプロセッサ番号を知るコマンドですか?

おすすめ記事