2007-02-17

メモリリーク検出プログラム、メモリリーク検出装置およびメモリリーク検出方 法

公開されました。メモリリーク検出プログラム、メモリリーク検出装置およびメモリリーク検出方法 (特許出願2005−227849, 特許公開2007−42007)


なにをしているかっていうのですが、メモリリークをする部分を同じように実行すると同じ内容をメモリにごみとして残していくから、メモリリークする内容がその部分を実行した回数の自然数倍に増えていくってことで検出できるね、っていう内容。 コマンドとしてはこんなことすればいいのでは、と。


 # プロセスの core ファイルの作成
$ gcore [PID]
# メモリに残すパターンが文字列 (string) の範囲内なら、
# - strings を使ってパターン抽出
# - 同じパターンを数えるために sort | uniq -c
# - パターン発生数で sort (sort -r)
$ strings [corefie] | sort | uniq -c | sort -r

apache の DSO モジュールを開発しているときにメモリリークしている雰囲気で、どこがメモリリークしているのだか良くわからず、目の前に core ファイルだけ転がって、何とかならないかと思ってあみ出した方法。

0 件のコメント:

コメントを投稿