2014-02-10 23 views
4

我有一個節點應用隨着時間的推移而變慢。 閱讀https://hacks.mozilla.org/2012/11/tracking-down-memory-leaks-in-node-js-a-node-js-holiday-season/似乎我有內存泄漏,v8 gc正在放慢我的應用程序。 所以我試着節點MEMWATCH但相關結果節點memwatch:泄漏類型原生

{ 
    what: 'Native', 
    size_bytes: 18853040, 
    size: '17.98 mb', 
    '+': 2247, 
    '-': 116 
}, 

但我不知道在我的代碼庫進行搜索。 我認爲原生v8功能本地查閱者,但我被鎖定在這裏。

因此,如果我們曾經試驗過,感謝您的答案。

+0

哎喲,我看到完全一樣的問題。 – jes5199

回答

1

如v8中所述code comments本機表示「本機對象(不是來自V8堆)」。

Further research促使我這樣的定義:

本地對象是一切這是不是在JavaScript堆。與堆對象相反,Native對象在整個生命週期中不受V8垃圾收集器的管理,只能使用JavaScript包裝器對象通過JavaScript進行訪問。

從上一個鏈接可以注意到的一個好消息是,它提到的字符串可以存儲在VM堆或包裝器對象中。在第二種形式中,創建這些包裝用於「訪問外部存儲,例如存儲從Web接收的腳本源和其他內容」。