2016-07-29 8 views
0

Foxek Appをストレステストすると、最終的にArangoDBとSIGSEGVがクラッシュします。コアファイルを見ると、メモリ不足のV8に関連しているようです。潜在的なリークを追跡するためにヒープのメモリプロファイリングを行いたいと思います。 V8エンジンはarangodの不可欠な部分なので、V8プロファイラにはどのようにアクセスして使用しますか?これを助けるノードモジュールはC++モジュールを持っているので、Foxxのすぐ下では動かないでしょう。ArangoDB Foxx Appでメモリ使用量をプロファイルする方法

答えて

1

残念ながら、V8エンジンとそのガベージコレクションには、メモリ管理に関するいくつかの不具合があります。

タイトなループで実行され、システムから多少のメモリを奪い取る場合があります。場合によっては、ホストプロセスに状況に対処する代わりにプロセスを即座に終了させることもあります。

これはすべてのV8ベースのソリューションがNode.JSと戦わなければならない問題です。 V8チームがこれに取り組んでおり、すべてのバージョンで進歩しています。 しかし、まだ道のりはまだ終わっていません。

メモリプロファイリングを提供する可能性が最も高いデバッグインターフェイスについては、現在のところ、and tracking progress on this via the github issue #1538が不足していることを認識しています。このトピックでリソースが利用可能になると、作業を開始します。

Linuxカーネルの助けを借りて何らかの形でflamgegraphsを使用している可能性がありますが、これをより便利にするために必要なJITコンパイル関数の名前を書くのは問題があるようです。

+0

私が望んでいた答えではありませんが、私は目を詰まらせています。私は純粋なJavascriptメモリリークディテクタを見つけましたが、オブジェクトにキーを追加するので、アプリケーションが壊れます。 – ggendel

関連する問題