[編集 :Ubuntu 14.04 で動作:/usr/bin/time -v command
必ずフル パスを使用してください。]
/usr/bin/time
のように見えます -v
を渡すと、その情報が得られます (これはUbuntu 8.10にあります)。たとえば、Maximum resident set size
を参照してください。 以下:
$ /usr/bin/time -v ls / .... Command being timed: "ls /" User time (seconds): 0.00 System time (seconds): 0.01 Percent of CPU this job got: 250% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00 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): 0 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 315 Voluntary context switches: 2 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0
(これはすでに回答済みの古い質問です..しかし、記録のために:)
私は Yang のスクリプトに触発され、memusg という名前のこの小さなツールを思いつきました。単純にサンプリング レートを 0.1 に上げて、非常に短時間のプロセスを処理しました。単一のプロセスを監視する代わりに、プロセス グループの rss sum を測定するようにしました。 (ええ、一緒に動作する個別のプログラムをたくさん書いています) 現在、Mac OS X と Linux で動作します。使い方は time
と同様でなければなりません :
memusg ls -alR / >/dev/null
現時点ではピークのみを示していますが、他の (大まかな) 統計を記録するためのわずかな拡張に興味があります.
本格的なプロファイリングを開始する前に、このような単純なツールがあると便利です。