2011-05-03 60 views
5

有一個在node.js中或V8內存泄漏,消除我的重新使用過程中jqueryify許多HTML頁面的能力。是否有可能破壞上下文?

的錯誤是在這裏:https://github.com/joyent/node/issues/1007

Bug的同時,是否有可能「破壞」一個情境時,我用它做什麼?這種接縫可能會導致對jsdom代碼的簡單攻擊,因此我可以在不寫入重新啓動的情況下以合理的方式移動寫入自己的代碼。

我們有一個方法來跟蹤我們公司自身的調整,以開源項目,所以我們可以在更新帶來的,仍然解決我們可能已經無需等待開源社區發現的錯誤。

如果我可以摧毀的背景下,我想我會好到哪裏去。

在jsdom的tmpvar說這是一個Node.JS問題,我不知道什麼時候它會被修復,因爲看到這是幾個月前,並且已經有很多未解決的問題https://github.com/joyent/node/issues/637

+0

嗨喬治,什麼林現在做爲了解決內存泄漏,是我創建一個子進程爲每個JSDOM例如,它的一個巨大的技巧,但它的工作。你可以做的另一件事是讓父進程監視孩子的進程內存,當它達到一定的限制時,讓它重新啓動它。 – 2011-05-09 17:15:01

+0

@Amjad:謝謝,我已經做了類似的事情,我限制可以在進程重新啓動之前進行解析的頁數。 – 2011-05-09 17:25:55

回答

1

我能想到的最好的辦法是看使用node VM東西。

當你訪問返回的情況下按照您的意願做vm.runInNewContext可能是有用的。

var util = require('util'), 
    vm = require('vm'), 
    sandbox = { 
     animal: 'cat', 
     count: 2 
    }; 

vm.runInNewContext('count += 1; name = "kitty"', sandbox, 'myfile.vm'); 
console.log(util.inspect(sandbox)); 
相關問題