nodejs v8.getHeapStatistics method

随声附和 提交于 2019-12-05 13:30:23

问题


In nodejs v8 module, there's a function called getHeapStatistics which return an object that contains information about memory usage:

{ 
  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 
}

What's the meaning of each field?


回答1:


Some good explanation from gc-heap-stats package:

  • total_heap_size: Number of bytes V8 has allocated for the heap. This can grow if usedHeap needs more.
  • used_heap_size: Number of bytes in used by application data
  • total_heap_size_executable: Number of bytes for compiled bytecode and JITed code
  • heap_size_limit: The absolute limit the heap cannot exceed (default limit or --max_old_space_size)
  • total_physical_size: Committed size

From Node.JS docs:

  • 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 memory set) gets bigger because it continuously touches all heap pages and that makes them less likely to get swapped out by the operating system.

Self descriptive:

  • total_available_size: Available heap size
  • malloced_memory: current amount of memory, obtained via malloc
  • peak_malloced_memory: peak amount of memory, obtained via malloc



回答2:


There's V8 API documentation directly generated from the sources, but the details of HeapStatistics are not explained.



来源:https://stackoverflow.com/questions/41541843/nodejs-v8-getheapstatistics-method

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!