ええと...私は振り出しに戻りました。私は私の人生のためにこれを理解することはできません。
次のエラーが表示されます。
FATAL ERROR: JS Allocation failed - process out of memory
この問題の根源を突き止めようと試みたものを数十 (はい、数十) 列挙することはできますが、実際には多すぎるでしょう。重要なポイントは次のとおりです。
- 実稼働サーバーでのみ発生させることができ、アプリは大きくて複雑であるため、分離するのが非常に難しいことがわかっています
- ヒープ サイズと RSS サイズが両方とも 200 Mb 未満であっても発生しますが、マシン (Amazon Cloud、CentOS、m1.large) の RAM が 8Gb であることを考えると問題にはなりません。
私の推測では、 (2 番目の点のため) リークはおそらく原因ではありません。むしろ、おそらく非常に大きな SINGLE オブジェクトがあるようです。次のスレッドは、この理論を裏付けています:: Node.js で JSON.stringify を使用すると、'process out of memory' エラーが発生します。
私が本当に必要としているのは、アプリケーションがクラッシュした瞬間のメモリの状態を調べる方法、または致命的なエラーに至るまでのスタック トレースです。
上記の仮定に基づくと、10 分間経過したヒープ ダンプでは不十分です (オブジェクトがメモリに常駐していないため)。