v8.getHeapStatistics
History
malloced_memory, peak_malloced_memory, and does_zap_garbage.v8.getHeapStatistics(): Object
ObjectReturns an object with the following properties:
numbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbernumbertotal_heap_size The value of total_heap_size is the number of bytes V8 has
allocated for the heap. This can grow if used_heap needs more memory.
total_heap_size_executable The value of total_heap_size_executable is the
portion of the heap that can contain executable code, in bytes. This includes
memory used by JIT-compiled code and any memory that must be kept executable.
total_physical_size The value of total_physical_size is the actual physical memory
used by the V8 heap, in bytes. This is the amount of memory that is committed
(or in use) rather than reserved.
total_available_size The value of total_available_size is the number of
bytes of memory available to the V8 heap. This value represents how much
more memory V8 can use before it exceeds the heap limit.
used_heap_size The value of used_heap_size is number of bytes currently
being used by V8’s JavaScript objects. This is the actual memory in use and
does not include memory that has been allocated but not yet used.
heap_size_limit The value of heap_size_limit is the maximum size of the V8
heap, in bytes (either the default limit, determined by system resources, or
the value passed to the --max_old_space_size option).
malloced_memory The value of malloced_memory is the number of bytes allocated
through malloc by V8.
peak_malloced_memory The value of peak_malloced_memory is the peak number of
bytes allocated through malloc by V8 during the lifetime of the process.
does_zap_garbage is a 0/1 boolean, which signifies whether the
--zap_code_space option is enabled or not. This makes V8 overwrite heap
garbage with a bit pattern. The RSS footprint (resident set size) gets bigger
because it continuously touches all heap pages and that makes them less likely
to get swapped out by the operating system.
number_of_native_contexts The value of native_context is the number of the
top-level contexts currently active. Increase of this number over time indicates
a memory leak.
number_of_detached_contexts The value of detached_context is the number
of contexts that were detached and not yet garbage collected. This number
being non-zero indicates a potential memory leak.
total_global_handles_size The value of total_global_handles_size is the
total memory size of V8 global handles.
used_global_handles_size The value of used_global_handles_size is the
used memory size of V8 global handles.
external_memory The value of external_memory is the memory size of array
buffers and external strings.
total_allocated_bytes The value of total allocated bytes since the Isolate
creation
{ "total_heap_size": 7326976, "total_heap_size_executable": 4194304, "total_physical_size": 7326976, "total_available_size": 1152656, "used_heap_size": 3476208, "heap_size_limit": 1535115264, "malloced_memory": 16384, "peak_malloced_memory": 1127496, "does_zap_garbage": 0, "number_of_native_contexts": 1, "number_of_detached_contexts": 0, "total_global_handles_size": 8192, "used_global_handles_size": 3296, "external_memory": 318824 }