Spec-Zone.ru › Node.js 6 LTS

V8

Модуль v8 предоставляет API, специфичные для версии V8, встроенной в бинарник Node.js. К нему можно получить доступ, используя:

const v8 = require('v8');

Примечание: API и реализация могут быть изменены в любое время.

v8.getHeapStatistics()

Добавлен в: v1.0.0

Возвращает объект со следующими свойствами:

  • total_heap_size <число>
  • total_heap_size_executable <число>
  • total_physical_size <число>
  • total_available_size <число>
  • used_heap_size <число>
  • heap_size_limit <число>

Например:

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

v8.getHeapSpaceStatistics()

Добавлен в: v6.0.0

Возвращает статистику о пространствах кучи V8, то есть сегментах, которые составляют кучу V8. Порядок пространств кучи, а также доступность пространства кучи не гарантируются, так как статистика предоставляется через функцию V8 GetHeapSpaceStatistics и может меняться от одной версии V8 к другой.

Возвращаемое значение — массив объектов, содержащих следующие свойства:

  • space_name <строка>
  • space_size <число>
  • space_used_size <число>
  • space_available_size <число>
  • physical_space_size <число>

Например:

[
  {
    "space_name": "new_space",
    "space_size": 2063872,
    "space_used_size": 951112,
    "space_available_size": 80824,
    "physical_space_size": 2063872
  },
  {
    "space_name": "old_space",
    "space_size": 3090560,
    "space_used_size": 2493792,
    "space_available_size": 0,
    "physical_space_size": 3090560
  },
  {
    "space_name": "code_space",
    "space_size": 1260160,
    "space_used_size": 644256,
    "space_available_size": 960,
    "physical_space_size": 1260160
  },
  {
    "space_name": "map_space",
    "space_size": 1094160,
    "space_used_size": 201608,
    "space_available_size": 0,
    "physical_space_size": 1094160
  },
  {
    "space_name": "large_object_space",
    "space_size": 0,
    "space_used_size": 0,
    "space_available_size": 1490980608,
    "physical_space_size": 0
  }
]

v8.setFlagsFromString(string)

Добавлен в: v1.0.0

Метод v8.setFlagsFromString() может использоваться для программированного задания флагов командной строки V8. Этот метод следует использовать с осторожностью. Изменение настроек после запуска виртуальной машины может привести к непредсказуемому поведению, в том числе к сбоям и потере данных; или же это может просто не сработать.

Доступные для версии Node.js параметры V8 можно определить, выполнив node --v8-options. Неофициально поддерживаемый сообществом список параметров и их эффектов доступен здесь.

Использование:

// Print GC events to stdout for one minute.
const v8 = require('v8');
v8.setFlagsFromString('--trace_gc');
setTimeout(function() { v8.setFlagsFromString('--notrace_gc'); }, 60e3);

© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v6.x/docs/api/v8.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API