File tree Expand file tree Collapse file tree 4 files changed +11
-1
lines changed Expand file tree Collapse file tree 4 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -1165,6 +1165,7 @@ added: v0.1.16
11651165 * ` rss ` {Integer}
11661166 * ` heapTotal ` {Integer}
11671167 * ` heapUsed ` {Integer}
1168+ * ` external ` {Integer}
11681169
11691170The ` process.memoryUsage() ` method returns an object describing the memory usage
11701171of the Node.js process measured in bytes.
@@ -1181,11 +1182,14 @@ Will generate:
11811182{
11821183 rss: 4935680 ,
11831184 heapTotal: 1826816 ,
1184- heapUsed: 650472
1185+ heapUsed: 650472 ,
1186+ external: 49879
11851187}
11861188```
11871189
11881190` heapTotal ` and ` heapUsed ` refer to V8's memory usage.
1191+ ` external ` refers to the memory usage of C++ objects bound to JavaScript
1192+ objects managed by V8.
11891193
11901194## process.nextTick(callback[ , ...args] )
11911195<!-- YAML
Original file line number Diff line number Diff line change @@ -105,6 +105,7 @@ namespace node {
105105 V (exponent_string, " exponent" ) \
106106 V (exports_string, " exports" ) \
107107 V (ext_key_usage_string, " ext_key_usage" ) \
108+ V (external_string, " external" ) \
108109 V (external_stream_string, " _externalStream" ) \
109110 V (family_string, " family" ) \
110111 V (fatal_exception_string, " _fatalException" ) \
Original file line number Diff line number Diff line change @@ -2298,11 +2298,15 @@ void MemoryUsage(const FunctionCallbackInfo<Value>& args) {
22982298 Number::New (env->isolate (), v8_heap_stats.total_heap_size ());
22992299 Local<Number> heap_used =
23002300 Number::New (env->isolate (), v8_heap_stats.used_heap_size ());
2301+ Local<Number> external_mem =
2302+ Number::New (env->isolate (),
2303+ env->isolate ()->AdjustAmountOfExternalAllocatedMemory (0 ));
23012304
23022305 Local<Object> info = Object::New (env->isolate ());
23032306 info->Set (env->rss_string (), Number::New (env->isolate (), rss));
23042307 info->Set (env->heap_total_string (), heap_total);
23052308 info->Set (env->heap_used_string (), heap_used);
2309+ info->Set (env->external_string (), external_mem);
23062310
23072311 args.GetReturnValue ().Set (info);
23082312}
Original file line number Diff line number Diff line change @@ -6,3 +6,4 @@ var r = process.memoryUsage();
66assert . ok ( r . rss > 0 ) ;
77assert . ok ( r . heapTotal > 0 ) ;
88assert . ok ( r . heapUsed > 0 ) ;
9+ assert . ok ( r . external > 0 ) ;
You can’t perform that action at this time.
0 commit comments