NodeJS和不断增加的堆大小

问题描述 投票:0回答:1
  1. 我想确保始终将可用堆大小(我的NodeJS应用程序可以使用)设置为最大。

  2. 据我所知,在运行NodeJS 10及更高版本时,不再需要设置“ --max_old_space_size” ...?

  3. 无论我在哪里运行我的节点应用程序-并检查堆大小在35MB-40MB之间。我的笔记本电脑有32GB的内存,我的小型AWS实例有1GB-但两者似乎都分配和使用相同的小堆大小(old_space为37MB / 37072896(1GB)和35MB / 35270656(32GB))?

我尝试使用并设置“ --max_old_space_size = 1000000”-但这似乎没有任何作用吗?

const v8 = require('v8');
console.log(v8.getHeapSpaceStatistics());

1。具有1GB内存的AWS实例:

[
  {
    space_name: 'read_only_space',
    space_size: 262144,
    space_used_size: 32296,
    space_available_size: 229576,
    physical_space_size: 262144
  },
  {
    space_name: 'new_space',
    space_size: 8388608,
    space_used_size: 1995376,
    space_available_size: 2194576,
    physical_space_size: 8388608
  },
  {
    space_name: 'old_space',
    space_size: 37072896,
    space_used_size: 35261192,
    space_available_size: 1746800,
    physical_space_size: 37072896
  },
  {
    space_name: 'code_space',
    space_size: 425984,
    space_used_size: 296192,
    space_available_size: 70048,
    physical_space_size: 425984
  },
  {
    space_name: 'map_space',
    space_size: 1576960,
    space_used_size: 1272080,
    space_available_size: 300656,
    physical_space_size: 1576960
  },
  {
    space_name: 'large_object_space',
    space_size: 1720320,
    space_used_size: 1700944,
    space_available_size: 0,
    physical_space_size: 1720320
  },
  {
    space_name: 'code_large_object_space',
    space_size: 49152,
    space_used_size: 3552,
    space_available_size: 0,
    physical_space_size: 49152
  },
  {
    space_name: 'new_large_object_space',
    space_size: 0,
    space_used_size: 0,
    space_available_size: 4189952,
    physical_space_size: 0
  }
]

2。具有32GB内存的我的笔记本电脑:

[
  {
    space_name: 'read_only_space',
    space_size: 262144,
    space_used_size: 33040,
    space_available_size: 0,
    physical_space_size: 262144
  },
  {
    space_name: 'new_space',
    space_size: 33554432,
    space_used_size: 16417832,
    space_available_size: 340952,
    physical_space_size: 33554432
  },
  {
    space_name: 'old_space',
    space_size: 35270656,
    space_used_size: 35127408,
    space_available_size: 50416,
    physical_space_size: 35270656
  },
  {
    space_name: 'code_space',
    space_size: 692224,
    space_used_size: 451296,
    space_available_size: 14304,
    physical_space_size: 692224
  },
  {
    space_name: 'map_space',
    space_size: 1839104,
    space_used_size: 1817840,
    space_available_size: 0,
    physical_space_size: 1839104
  },
  {
    space_name: 'large_object_space',
    space_size: 3067904,
    space_used_size: 3045496,
    space_available_size: 0,
    physical_space_size: 3067904
  },
  {
    space_name: 'code_large_object_space',
    space_size: 49152,
    space_used_size: 2784,
    space_available_size: 0,
    physical_space_size: 49152
  },
  {
    space_name: 'new_large_object_space',
    space_size: 1523712,
    space_used_size: 1515104,
    space_available_size: 15243680,
    physical_space_size: 1523712
  }
]

我想确保始终将可用堆大小(我的NodeJS应用程序可以使用)设置为最大。据我了解,不再需要设置“ --max_old_space_size” ...

javascript node.js heap v8 heap-memory
1个回答
0
投票

我的经验:

© www.soinside.com 2019 - 2024. All rights reserved.