僅僅爲了獲得樂趣並嘗試nodejs,我寫了一個非常非常簡單的程序,用於測試Collatz猜想中的荒謬數量。理論上這應該沒問題。我遇到的問題是這個超級簡單的代碼有內存泄漏,我無法確定原因。簡單nodejs中的內存泄漏app
var step;
var numberOfSteps;
for (var i = 0; i < 100000000000000; i++) {
step = i;
numberOfSteps = 0;
while (step !== 1) {
if (step%2 === 0)
step /= 2;
else
step = 3 * step + 1;
numberOfSteps++;
}
console.log("" + i + ": " + numberOfSteps + " steps.");
}
我已經嘗試了循環內外的變量。我試過在循環結束時將它們置零。沒有什麼改變內存泄漏。
泄漏在哪裏?我在我的電腦上試了一下,我的內存只增加了小於0.01G – Turtle
沒有泄漏......但while循環對於步驟=== 0是**無限** ......但是,如果你解決了這個問題,節點似乎保持慢慢吞噬內存,也不是 –
這是'console.log'這是造成它 - 它幾乎如果GC是不能夠運行由的console.log調用清理垃圾落在了後面 –