- Memcheck
- メモリ管理に関する問題が検出できるツール.初期化していないメモリ領域や解放してしまったメモリ領域へのアクセスを検出できる.また,メモリリークやメモリの多重解放の検出も可能.「malloc」「new」「free」「delete」の各命令をラップし,すべてのメモリ読み書きを監視する.
- Cachegrind
- キャッシュプロファイラ.CPUのキャッシュ割り当てをシミュレーションすることで,キャッシュミスが起こるポイントを検出できる.
- Callgrind
- Cachegrindの拡張版.Cachegrindのすべての機能に加えて,関数の呼び出しが追える.
- Massif
- ヒーププロファイラ.プログラムのヒープを監視し,プログラムがどれだけメモリを使っているか監視できる.ヒープだけでなく,スタックも監視できるみたい.
- Helgrind
- スレッドデバッガ.スレッド間でのメモリ競合を検出できる.
2010.2.5
メモリ使用量を測りたい!
というとき,君ならどうする?
psを叩く?
topコマンドを使う?
もっといい方法があるよ
それは,Valgrindを使うこと
このValgrindっていうソフトは
複数のツール群からなる,メモリデバッガ・ヒーププロファイラ
簡単に言うと,メモリのプロファイリングを行えるツール群
「群」というからには
使えるツールが何種類かあって
メモリの解放忘れや二重解放の検出,ヒーププロファイラやスレッドデバッガがある
具体的には,こんな感じ
