2009-04-30 6 views
5

私は、C++アプリケーションを実行するシェルスクリプトを実行しています。これは、apiのパフォーマンスを測定します。私は、APIのapiの待ち時間(パラメータのセットの値を返すために取られる時間)をキャプチャすることができますが、私はまた、5-10秒の間隔でCPUとメモリの使用量をキャプチャしたいと思います。CPUとメモリの使用状況を動的に取得する

システムのパフォーマンスに影響を与えずにこれを行う方法はありますか?それも同じスクリプト内にありますか?私は実行しているスクリプトの外部(独立して)で行うことができる多くの例を見つけました。同じスクリプト内でできることはありません。

+0

可能な複製(http://stackoverflow.com/questions/1221555/ [どのように私は、Linux(Ubuntuの)上の単一のプロセスのCPU使用率とメモリ使用量を得ることができますか?]どのようにしてi-get-the-cpu-usage-and-memory-use-a-single-process-on-linux-ubunt) –

+0

http://meta.stackexchange.com/questions/147643/should-i-vote-to-close-a-duplicate-question-even-しかし、それほど新しい、そして、HA ;-) –

答えて

2

time」コマンドと「vmstat」コマンドを使用することをお勧めします。最初は、実行可能な実行と、システムのCPU /メモリ/ IOの2回目の定期的な(つまり1秒に1回の)ダンプのCPU使用率を示します。

例:の

time dd if=/dev/zero bs=1K of=/dev/null count=1024000 
1024000+0 records in 
1024000+0 records out 
1048576000 bytes (1.0 GB) copied, 0.738194 seconds, 1.4 GB/s 
0.218u 0.519s 0:00.73 98.6%  0+0k 0+0io 0pf+0w <== that's time result 
+0

あなたは例を挙げることができますか?私はシェル内で同じことを試みましたが、プロセスが終了すると予想され、同じスクリプトで複数の呼び出しインスタンスが実行されています。 – gagneet

+0

私は例を追加した、私はあなたが出力を収集し、それを手動で合計する必要があると思う。 1つのスクリプトですべての実行を行い、そのための「時間」を行うもう1つの提案。 – Drakosha

関連する問題