2009-06-15 16 views
4

私は、Linuxシステム上でプログラムのピークメモリ消費量を測定するために、/ usr/bin/timeコマンドを使用しようとしています。メモリ使用量を測定するGNU "time"コマンドの問題

8.68user 0.04: は独立し、私は時間を実行しているに関しては何のために正しい答えを得るが、メモリ使用量の数値は常に0

時からの典型的な出力されるとどのような実行可能なI実験のようなものですシステム0:私は理解していない午前99%CPU(0avgtext + 0avgdata 0maxresident)K 0inputs + 16outputs(0major + 20366minor)を08.73elapsed pagefaults 0swaps

ゼロである:

0avgtext + 0avgdata 0maxresident

私の周りGoogleで検索している、と私はGNUの時間は、実際にそのmanページで参照されたもの メモリ使用量データを計算することができないことを収集します。私は正しいですか? 同じ効果を得るための代替コマンドとは何ですか? (valgrindを実行する必要はありません)

答えて

4

私が知っている限り、ピーク時のメモリ使用量は実装されていないため、報告しません。ほとんどの人は、マイナーページフォールト(1 == 4Kbブロック)の数を、使用されたメモリ量の指標として使用します。

たとえば、hereを参照してください。Linus Torvaldsは、これを使ってgitのパフォーマンスを調べます。

私がそうでなければそれを測定するために知っているだろう唯一の方法は、「ulimitを」を使用し、それが必要とするメモリの最小量を見つけるためにバイナリ検索を使用することによりだろう

:)

2

その真当時は普遍的にすべて対応していません。拡張機能。

mempatrolやelectric fenceのようなvalgrindの代わりに、同じオーバーヘッドはありませんが(ファンシーな機能は少ない) Valgrindはこれに対して実際には馬鹿げて圧倒されており、あなたはそれを実行時に支払う。

同様の結果を得るために、systemtapスクリプトを使用することもできます。

トップも非常に便利です。

関連する問題