nodejs v8.getHeapStatistics 方法
nodejs v8.getHeapStatistics method
在 nodejs v8 模块中,有一个名为 getHeapStatistics 的函数,其中 return 一个包含有关内存使用信息的对象:
{
total_heap_size: 221540352,
total_heap_size_executable: 5242880,
total_physical_size: 221540352,
total_available_size: 1286110104,
used_heap_size: 189179192,
heap_size_limit: 1501560832,
malloced_memory: 16384,
peak_malloced_memory: 1325112,
does_zap_garbage: 0
}
每个字段的含义是什么?
有V8 API documentation directly generated from the sources,但是HeapStatistics的细节就不解释了。
gc-heap-stats package 的一些很好的解释:
- total_heap_size:V8 已分配给堆的字节数。如果 usedHeap 需要更多,它可以增长。
- used_heap_size:应用程序数据使用的字节数
- total_heap_size_executable:编译字节码和JITed代码的字节数
- heap_size_limit:堆不能超过的绝对限制(默认限制或--max_old_space_size)
- total_physical_size:承诺尺寸
来自Node.JS docs:
- does_zap_garbage 是一个 0/1 布尔值,表示 --zap_code_space 选项是否启用。这使得 V8 以位模式覆盖堆垃圾。 RSS 占用空间(驻留内存集)变得更大,因为它不断接触所有堆页面,这使得它们不太可能被操作系统换出。
自我描述:
- total_available_size:可用堆大小
- malloced_memory:当前内存量,通过malloc
获得
- peak_malloced_memory:内存峰值,通过malloc
获得
在 nodejs v8 模块中,有一个名为 getHeapStatistics 的函数,其中 return 一个包含有关内存使用信息的对象:
{
total_heap_size: 221540352,
total_heap_size_executable: 5242880,
total_physical_size: 221540352,
total_available_size: 1286110104,
used_heap_size: 189179192,
heap_size_limit: 1501560832,
malloced_memory: 16384,
peak_malloced_memory: 1325112,
does_zap_garbage: 0
}
每个字段的含义是什么?
有V8 API documentation directly generated from the sources,但是HeapStatistics的细节就不解释了。
gc-heap-stats package 的一些很好的解释:
- total_heap_size:V8 已分配给堆的字节数。如果 usedHeap 需要更多,它可以增长。
- used_heap_size:应用程序数据使用的字节数
- total_heap_size_executable:编译字节码和JITed代码的字节数
- heap_size_limit:堆不能超过的绝对限制(默认限制或--max_old_space_size)
- total_physical_size:承诺尺寸
来自Node.JS docs:
- does_zap_garbage 是一个 0/1 布尔值,表示 --zap_code_space 选项是否启用。这使得 V8 以位模式覆盖堆垃圾。 RSS 占用空间(驻留内存集)变得更大,因为它不断接触所有堆页面,这使得它们不太可能被操作系统换出。
自我描述:
- total_available_size:可用堆大小
- malloced_memory:当前内存量,通过malloc 获得
- peak_malloced_memory:内存峰值,通过malloc 获得