最大のメモリ消費を見つけるために Rspec テストをプロファイリングするにはどうすればよいですか?
概要
導入プロセスの一環としてcirciciを使用します。 Circleci は 3000 のテストを実行しますが、4 GB のメモリ制限に達するために失敗することがあります。一部のテストでは、大量のオブジェクトが作成され、大量のメモリが使用されているようです。ただ、どれがどれなのかは分かりません。
特定のテストに使用されるメモリをプロファイリングする簡単な方法はありますか?この方法を知っていれば、各テストを簡単にループして実行し、使用するメモリの量を確認できます。
解決策
Ruby-prof gem を使用してメモリ使用量をプロファイリングできます。ただし、最初に –profile フラグを指定して RSpec を実行してみるとよいでしょう。最も遅い 10 のスペックが表示されるので、大量のメモリを消費しているスペックを探し始めるのにおそらく適しています。