![]() |
ノート/topコマンドhttp://pepper.is.sci.toho-u.ac.jp/pepper/index.php?%A5%CE%A1%BC%A5%C8%2Ftop%A5%B3%A5%DE%A5%F3%A5%C9 |
![]() |
ノート/ノート
訪問者数 1056 最終更新 2012-04-09 (月) 14:37:21
マルチコア上で並列動作を確認したいときの1つの方法として、linuxのtopコマンドを用いることができる。
使い方は、たとえば topコマンドによるLinuxサーバ管理 など参照。
具体的には、まず端末ウィンドウを2つ起動する。一方の端末(A)では並列のアプリケーションを起動することにし、もう1つの端末(B)の上で、コマンドラインで
top
として、状態表示のプログラムtopを起動する。
のような画面が出たら、その後、
1
を入れる。これによって、プロセッサごとの数値が出るようになる。
この上図は、1を入れてマルチプロセッサ表示にした後、端末(A)の側で並列のアプリケーションを起動し、しばらくしてから(まだ実行終了していない)の状態である。
よく見ると、プロセッサCPU0〜CPU7で、どれもほとんど100%になっている。つまり、8つのプロセッサコアが並列にプログラムを実行していることが分かる。
では、プロセッサ数を4に制限するとどうなるか。端末(A)のコマンドプロンプトに対して
export OMP_NUM_THREADS=4
を設定すると、topの画面は
のようになる。CPU2, 3, 4, 7にプロセスが割り振られているが、その他に何かのバックグラウンドの仕事がCPU0と1で動いていることが分かる。