v8モジュールのgetHeapStatistics関数を呼び出すと、4GBを超えるメモリサイズに設定されたメモリサイズのheap_size_limitプロパティが正しくありません。 特に、max_old_space> = 4032に設定した場合、heap_size_limitは正しくありません。 再現するには:
ノード--max_old_space_size = 3072
require( 'v8')。getHeapStatistics()。heap_size_limit
3288334336
これはあなたが期待する通りですが、4096が何をするかを見てください:
ノード--max_old_space_size = 4096
require( 'v8')。getHeapStatistics()。heap_size_limit
67108864
64 MB ???? そうではありません。 試行錯誤の末、魔法の限界点は4032です。
ノード--max_old_space_size = 4032
require( 'v8')。getHeapStatistics()。heap_size_limit
0
4092に設定されている場合、ヒープサイズはゼロです。
これは、Mac OS X10.11.6およびノードv5.11.0でも発生します。
最も参考になるコメント
https://github.com/nodejs/node/pull/10186