マスタープロジェクトを開始しようとしています。要件段階で、アプリケーションがシステム上で持つパフォーマンスフットプリントに関するデータを収集する必要があります。私が探している主なものは、ロード時間、メモリとCPUの使用率、およびシャットダウン時間ですが、できるだけ多くの情報を取得したいと思います。システムモニターを使用してこれらの一部を取得できることはわかっていますが、プロジェクト中にテストの前後にいくつかを実行するため、正確なデータが必要です。そこに(できればオープンソースで)十分なものはありますか?
time command
を実行するだけで、次のような結果が得られます。
$ time sleep 3
real 0m3.001s
user 0m0.000s
sys 0m0.000s
より多くの出力が必要な場合は、/usr/bin/time -v
を使用してください。
$ /usr/bin/time -v sleep 3
Command being timed: "sleep 3"
User time (seconds): 0.00
System time (seconds): 0.00
Percent of CPU this job got: 0%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.01
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 2192
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 1
Minor (reclaiming a frame) page faults: 181
Voluntary context switches: 3
Involuntary context switches: 1
Swaps: 0
File system inputs: 16
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
GNUアカウンティングユーティリティ を使用する必要があります。これにより、詳細なプロセスリソース情報が得られます。
次のようにしてインストールできます:Sudo aptitude install acct
sa
を実行して、記録された統計を端末に出力します。
Saのubuntuのmanページは ここ です。
saは、acctファイルに記録されている以前に実行されたコマンドに関する情報を要約します。さらに、このデータをsavacctという名前の要約ファイルに要約します。このファイルには、コマンドが呼び出された回数と使用されたシステムリソースが含まれています。情報は、ユーザーごとに要約することもできます。 saは、この情報をusracctという名前のファイルに保存します。
Topまたはpsコマンドを使用するのはどうですか? :
top > footprint.txt &
ps > footprint.txt &