電子書籍の厳選無料作品が豊富!

linuxでプロセスが動いているCPUナンバーを知りたい
件名の通り、linuxでプロセスが動いているCPUナンバーを知りたいとおもっています。

psコマンドですと、プロセスID等はでますが、
デュアルコア、クワッドコアのどのcoreでプロセスが動いているのかを確認したいので
すが、表示できません。

なにか方法がありますでしょうか?

CPU(core)ナンバーとプロセスIDが結びつけば問題ありません。

mpstat -P 0

は使用率しかでなく、プロセスが見えませんでした。

よろしくお願い致します。

A 回答 (3件)

Linux って, 各プロセスに対して常に同じコアを割り当てるんでしたっけ?


そうじゃないとすると「調べた時点での割り当て」はわかるけど, その次にはどうなってるかわからないからあんまり意味があるようには思えないのですが....

この回答への補足

補足をおこないます。
A,B,C,Dというソフトが同時に起動した場合にどのCPUに割り当てられたかのスポットをしりたいと
思っております。
例えば、
A,B,C → CPU0
D → CPU1
みたいな感じです。

補足日時:2010/06/25 12:32
    • good
    • 1

そんなん TOP コマンドでわかるっちゃろ?



使い方/見方は 自分で検索してな
    • good
    • 1
この回答へのお礼

申し訳ありませんが、topで出ないので質問しつもんしています。

お礼日時:2010/06/28 09:32

プロセスは、メモリやファイルディスクリプタ等などのリソースの割り当て単位ですが、CPUの割り当て単位はその下のスレッド(タスク)なので、



「このプロセスが動いているCPUコア番号」

という概念自体が存在しないと思います。

ただ、多くのプロセスは1つのスレッドしか持たないので、仮にプロセスA,B,Cがそれぞれ1スレッドだとします。

で、とあるデュアルコア(CPU0,CPU1)のシステムでスレッドA,B,Cを動かし、プログラムXでそれぞれのスレッドのCPU番号を調べられたとします。Xが動いている以上それは例えば、CPU0で動いているわけで、その瞬間には、スレッドA,B,Cは、高々どれか1つがCPU1で動いており、その他のスレッドはCPU待ちと言うことになります。

つまり、そういうことは意味がないと言うことです。そもそも、何のためにそう言うことを調べたいと思いついたのかを掘り下げれば、問題の解決が図れるかと思いますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
CPUに割り付けの概念はあります。実際におこなっていますが、そのCPU割り付けを行わないで実行した場合に、そのCPUに割りつけられるかが見えない次第です。
割り付けを行っても、最初の割り付け時にかどのcPUに割りつけたが分からなく、複数のユーザが利用していると、ユーザにヒアリングしてしか聞くしか手立てがなく、システム的に見えていないのです。

お礼日時:2010/06/28 09:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!