节点要求:卸载模块成功但内存使用率仍然很高

时间:2017-07-22 04:28:03

标签: node.js

我使用require导入包含长数组的模块。

使用后我成功清除缓存并删除了删除阵列,但在每个新的所需模块上,我的内存使用量正在增加。

我如何防止这种情况?

****编辑***** 已添加代码

 Array1.map(function(val,index){


          var requiredModuke = require("../moduleLocation/"+index)

          var path = resolve.sync("../moduleLocation/"+index);
          if (path){
            console.log("Path to module found:", path);
          }


              setTimeout( function(){


              delete require.cache[require.resolve(path)]

              var numOfModulesLoaded= Object.keys(require.cache).length

              console.log(numOfModulesLoaded)



              },index*8000 );


    })

1 个答案:

答案 0 :(得分:2)

node.js缓存模块,需要从缓存中删除才能释放内存。

delete require.cache[require.resolve('ModulePath/ModuleName')]

检查所有缓存/加载的模块

console.log(require.cache);