Perl スクリプト動作中のメモリ使用量を内部から調べたい
2010-12-08-1
[Programming]
perl スクリプト動作中に内部からメモリ使用量を調べたい。
スクリプト終了後のプロファイルじゃなくて動作中に今すぐ知りたい。
こういうタスクでは Devel::MemUsed がいいみたいなんだけどなぜかモジュールが行方不明。CPAN からなくなっているみたい。
GTop というのがあった。普段よく使ってる top コマンドの Perl モジュール版と考えればよいみたい。なるほどなるほど。メモリ使用量の増加具合はタスクの前後でチェックすればOK。下記を参照。しかし利用環境にうまくインストールできなかったのでとりあえず断念。うーん、gnome…。
- モジュールをuseした際のメモリ使用量(増加量)を調べてみる (iandeth. )
http://iandeth.dyndns.org/mt/ian/archives/000624.html
妥協して変数のメモリ使用量だけでも分かればいいや。
そうであれば Devel::Size を使えば良いとのこと。
- Devel::Size - Perl変数のメモリ使用量を調べる
http://perldoc.jp/docs/modules/Devel-Size-0.58/Size.pod
おお、動いた動いた。
ソース:
実行結果:
巨大ハッシュの動作中モニタリングに使おう。
って、時間かかっちゃうかな。
あとで試してみる。
スクリプト終了後のプロファイルじゃなくて動作中に今すぐ知りたい。
こういうタスクでは Devel::MemUsed がいいみたいなんだけどなぜかモジュールが行方不明。CPAN からなくなっているみたい。
GTop というのがあった。普段よく使ってる top コマンドの Perl モジュール版と考えればよいみたい。なるほどなるほど。メモリ使用量の増加具合はタスクの前後でチェックすればOK。下記を参照。しかし利用環境にうまくインストールできなかったのでとりあえず断念。うーん、gnome…。
- モジュールをuseした際のメモリ使用量(増加量)を調べてみる (iandeth. )
http://iandeth.dyndns.org/mt/ian/archives/000624.html
妥協して変数のメモリ使用量だけでも分かればいいや。
そうであれば Devel::Size を使えば良いとのこと。
- Devel::Size - Perl変数のメモリ使用量を調べる
http://perldoc.jp/docs/modules/Devel-Size-0.58/Size.pod
おお、動いた動いた。
ソース:
use Devel::Size qw(size total_size); my $foo = {a => [1, 2, 3]}; print size($foo)," ",total_size($foo), "\n"; $foo->{b} = {c => [4, 5]}; print size($foo)," ",total_size($foo), "\n"; shift @{$foo->{a}}; print size($foo)," ",total_size($foo), "\n";
実行結果:
119 267 142 549 142 529
巨大ハッシュの動作中モニタリングに使おう。
って、時間かかっちゃうかな。
あとで試してみる。