2009-04-21 10 views
2

私が持っているプログラミングの割り当てにはOKです(はい、私たちはすべて、ヘルプに適したソースに切り替えることができます)。どのくらいの時間を費やすかを知る必要がありますブロッキング/スリーピング/ランニングプロセスが費やす時間の決定Blocking/Execution

for i in `ls /proc/ | egrep [0-9]+` 
do 
     cat /proc/$i/status | grep State 
done 

が、その後の問題のすべては、睡眠状態を報告している:

私の最初の試みは、このような何かを見ている... bashスクリプトを作成していました。さらに、この方法では狂ったようにポーリングする必要があります。そのため、テストを実行するとおそらく結果は変わります...(ugh)

Linuxの新しいバージョンをsyscallsでコンパイルするか、プロセスを追跡する方法州は疑問ではない。私の唯一の心配は

答えて

1

あなたは「時間」を使用することができます...プロセスの状態を変更し、私は何かを逃してはいけないことを確認することを追跡する方法を見つけようとしている

$ time ls /usr/bin 

real 0m4.756s 
user 0m0.051s 
sys  0m0.078s 

リアル - SYS = (多分動的リンクを含むユーザ=システムに費やした時間は

ユーザーを呼び出し=あなただけのプログラムで命令を実行することによって費やされた時間 - 合計時間は、I/O(眠っている/ブロック)

sysのを待っていましたオーバーヘッド、それについてはわからない)

関連する問題