On Thu, Jun 6, 2013 at 12:57 AM, Hubert Eichner
<[email protected]> wrote:
> Hi all,
> I'm trying to "unload" a previously require()d module (specifically,
> express) to save memory. So I tried deleting all references to the Module
> objects - in require.cache, global.module.children, and the variable that is
> assigned the module's exports (var express = require('express')). However,
> the object does not seem to be collected by the garbage collector, the
> memory consumption stays at a high level. Are there other references to
> loaded modules saved somewhere, or could anyone provide hints on unloading
> modules?
>
> Ideally, I would like to actually run the module in an extra context - e.g.,
> var myScript = vm.createScript('var express = require("express")');
> var sandbox = { require:global.require };
> myScript.runInNewContext(sandbox);
> sandbox=null;
> myScript=null;
> but even in this case, the memory is not freed.
>
> Any help is greatly appreciated.
> Thanks a lot,
>     Hubert

Try `delete require.cache['express']`.

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to