nodejs v8.getHeapStatistics方法

王如锵*_*王如锵 17 memory v8 node.js

在nodejs v8模块中,有一个名为getHeapStatistics的函数,它返回一个包含有关内存使用情况的信息的对象:

{ 
  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 
}
Run Code Online (Sandbox Code Playgroud)

每个领域的含义是什么?

Jeh*_*lio 8

gc-heap-stats包中的一些很好的解释:

  • 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文档:

  • does_zap_garbage是一个0/1布尔值,表示是否启用了--zap_code_space选项.这使得V8用位模式覆盖堆垃圾.RSS占用空间(驻留内存集)变得更大,因为它不断触及所有堆页面,这使得它们不太可能被操作系统换出.

自我描述:

  • total_available_size:可用堆大小
  • malloced_memory:通过malloc获得的当前内存量
  • peak_malloced_memory:通过malloc获得的峰值内存量

  • "其他领域非常具有自我描述性." 我不同意,有人通过谷歌进入这里可能会试图找出其中一个具体,以便学习.如果不是很麻烦,我希望你扩大你的答案,包括缺少的部分,即使这是你"自我描述":)到下一个人可能不是 (2认同)