2016-07-29 57 views
0

壓力測試我的Foxx應用程序最終使用SIGSEGV崩潰了ArangoDB。看看核心文件,它似乎與V8內存不足有關。我想在堆上進行內存分析以幫助追蹤潛在的泄漏。由於V8引擎是arangod的組成部分,我如何訪問和使用V8 profiler?有助於此的節點模塊都具有C++模塊,因此它們不會在Foxx下正常運行。如何剖析ArangoDB Foxx應用程序中的內存使用情況

回答

1

不幸的是,V8引擎及其垃圾收集存在一些關於內存管理的小問題。

在某些情況下,它運行在一個緊密的循環中,從系統中擠出更多的內存,有時它會立即終止該進程,而不是讓主機進程有機會應對這種情況。

這是所有基於V8的解決方案都必須要面對的問題 - Node.JS。 V8團隊正在研究這個問題,並且每個版本都取得進展。 但是到目前爲止還沒有達到目的。

關於最有可能提供內存分析的調試接口,我們很清楚它目前缺少and tracking progress on this via the github issue #1538。隨着此主題的資源可用,我們將開始研究它。

你現在可以在linux內核的幫助下以某種方式使用flamgegraphs,但是編寫JIT編譯函數的名字使得這個函數更加有用似乎是有問題的。

+0

不是我希望的答案,但我會繼續堵塞。我發現了一個純粹的Javascript內存泄漏檢測器,但它爲對象添加了鍵,所以它打破了我的應用程序 – ggendel

相關問題