XcodeのデバッグでInstrumentsを使ってメモリ使用状況を確認する方法

Xcodeでswift使ってiOSアプリを開発する機会があった。
メモリの使用量が膨れ上がりアプリが落ちてしまう症状が出ており、そうなるとどこがメモリをたくさん使ってるのか調べたくなる。
以下手順で詳細なメモリ使用状況がモニタリングできた。

  1. Xcodeを開いてメニューバーのXcode>Open Developper Tool> Instruments 選択
  2. Allocationsを選択
  3. 画面左上の赤丸の隣あたりにある欄で、テストしたいデバイスとアプリを選択しておく
  4. 赤丸を押下するとモニタリング開始

とりあえず注目すべきは
All Heap Allocations
のところで、実メモリをどれくらい使ってるかがわかる。
その下のAll Anonyous VMは、仮想メモリをどれだけ確保しているかを示している模様。
OSXやiOSはOSが必要だと思ったらMAX4GBの仮想メモリ領域のうち必要な分を確保するらしい。
なのでVMなんちゃら系の表示は実メモリの使用状況とは関係ない(はず)。
ちなみに公式の資料によると仮想メモリの管理はアプリからじゃ何もできないとのこと。
メモリ効率の向上に関するガイドライン

さて、All Heap Allocations を見れば使用量はわかるが、実際どこで容量くってるの?というのは、
All Heap Allocationsの上でマウスオーバーしたときにでる「→」マークを押すと出てくる明細から探る。
ここではアドレス空間と、それに対応するスタックトレースが参照できる。
メモリが膨れてアプリが落ちたら落ちた時点が最後の記録になってるので、一番下のほうの記録があやしい。
そしてあやしい行を選択して表示されるスタックトレースを見るとおおよそ怪しいコードの箇所がわかる。