[linux]プロセスの消費リソース表示 その2

2015年10月5日月曜日

linux unix

その1では紹介したtimeコマンドの他にperfコマンドを使う方法がある。
※perfはシステムにデフォルトでは入っていないかもしれない。

perfはいくつかのサブコマンドから成り立っているけど、起動したプロセスの情報を単純に取得するにはstatを使うといい。

$ perf stat sort -r foo.txt

 Performance counter stats for 'sort -r foo.txt':

          1.880898 task-clock                #    0.569 CPUs utilized
               104 context-switches          #    0.055 M/sec
                 1 cpu-migrations            #    0.532 K/sec
               284 page-faults               #    0.151 M/sec
         2,905,110 cycles                    #    1.545 GHz
    stalled-cycles-frontend 
    stalled-cycles-backend  
         2,624,591 instructions              #    0.90  insns per cycle
           559,006 branches                  #  297.202 M/sec
            17,821 branch-misses             #    3.19% of all branches

       0.003305801 seconds time elapsed

また、下記のように-rオプションで実行回数を指定することもできる。

$ perf stat -r 5 sleep 1
 Performance counter stats for 'sleep 1' (5 runs):

          1.657008 task-clock                #    0.002 CPUs utilized            ( +-  3.25% )
                 2 context-switches          #    0.001 M/sec                    ( +- 20.79% )
                 0 cpu-migrations            #    0.121 K/sec                    ( +-100.00% )
               199 page-faults               #    0.120 M/sec
         1,338,609 cycles                    #    0.808 GHz                      ( +-  1.99% )
    stalled-cycles-frontend 
    stalled-cycles-backend  
         1,150,478 instructions              #    0.86  insns per cycle          ( +-  0.37% )
           233,825 branches                  #  141.113 M/sec                    ( +-  0.36% )
             9,804 branch-misses             #    4.19% of all branches          ( +-  1.32% )

       1.003059076 seconds time elapsed                                          ( +-  0.03% )