从内存释放大节点模块
我正在加载一个大的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的内容,因为我不会删除或释放您的内存