从内存释放大节点模块

我正在加载一个大的JS模块到内存中,我想释放它,当不再需要释放内存。

我用来testing的代码是这样的:

var lex = require('./lex.js'); //Big module (10M array) setInterval(() => console.log(process.memoryUsage()), 1000); setTimeout(() => { lex = null; delete require.cache[require.resolve('./lex.js')]; }, 5000); // this script outputs each second // { rss: 151756800, heapTotal: 131487520, heapUsed: 108843840 } // { rss: 151760896, heapTotal: 131487520, heapUsed: 108850024 } // ... // and after 5 seconds there is no change 

5秒后,进程仍然使用与初始模块加载之后相同的内存。

我究竟做错了什么? 谢谢!

删除需要caching将帮助您再次加载不是来自caching的内容,因为我不会删除或释放您的内存