贊助商連結

Node.js GC 參數調整

最近把 server 上的 node 版本從 0.10 升級到 4.2

這時遇到 memory 暴增,因為增加的速度有點誇張,同時有發現 GC 不常回收,所以把方向朝向 GC 策略的方面調查,查了一下,發現有參數可以調整 v8 的 GC,分別是 --max-old-space-size--max-new-space-size

這兩個分別控制存放 new object 跟 old object 的記憶體空間。

預設 --max-old-space-size 是 1GB,但是機器根本沒有 1GB 的記憶體,所以 ap 的記憶體用量就一直吃到沒法 allocate 就自己 crash。

於是把 --max-old-space-size=512 設定成 512MB 再重啟 ap,觀察一陣子就看到 ap 記憶體用量超過 500多 就會啟動 GC,目前看起來成效不錯,再繼續觀察。

Reference