多すぎるかもしれませんが、私はちょうどvalgrind
という名前の素晴らしいツールを持っていることがわかりましたmassif
。私はそれをテストしましたxterm
:
valgrind --trace-children=yes --tool=massif xterm
ms_print massif.out.* | less
そして、素敵なメモリ使用量グラフを取得します:
MB
4.230^ # ::::::: ::: @@: :::
| @ #:::@::@@:::::@::::::: :: : ::: :::::::@ ::::::: ::
| @ ::#:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::::@@:::::::::: #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::: @ :: ::: : : #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::: @ :: ::: : : #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::: @ :: ::: : : #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::: @ :: ::: : : #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::: @ :: ::: : : #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
| @::: @ :: ::: : : #:: @: @ ::: :@: :: :: :: : ::: ::: : :@ :: : :: ::
0 +----------------------------------------------------------------------->Mi
0 292.4
過度に詳細なメモリ使用情報とともに。valgrindマニュアルの詳細。
ただし、プログラムの実行速度は約20倍遅くなります。また、内でいくつかのコマンドを実行しましたxterm
。--trace-children=yes
オプションがあるため、メモリのフットプリントが考慮されています!
./tstime -t bash -c 'perl -e "\$a=\"x\"x100000000;\$b=\$a.\$a;\$b=\"\";\$a=\"\";sleep 10;"'